=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/roff.c,v retrieving revision 1.159 retrieving revision 1.160 diff -u -r1.159 -r1.160 --- src/usr.bin/mandoc/roff.c 2017/01/10 21:54:34 1.159 +++ src/usr.bin/mandoc/roff.c 2017/01/12 18:02:24 1.160 @@ -1,4 +1,4 @@ -/* $OpenBSD: roff.c,v 1.159 2017/01/10 21:54:34 schwarze Exp $ */ +/* $OpenBSD: roff.c,v 1.160 2017/01/12 18:02:24 schwarze Exp $ */ /* * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons * Copyright (c) 2010-2015, 2017 Ingo Schwarze @@ -1221,16 +1221,12 @@ return; } - /* Skip leading whitespace and escape sequences. */ + /* Skip leading whitespace. */ - cp = n->string; - while (*cp != '\0') { - if ('\\' == *cp) { + for (cp = n->string; *cp != '\0'; cp++) { + if (cp[0] == '\\' && strchr(" %&0^|~", cp[1]) != NULL) cp++; - mandoc_escape((const char **)&cp, NULL, NULL); - } else if (isspace((unsigned char)*cp)) - cp++; - else + else if ( ! isspace((unsigned char)*cp)) break; }