=================================================================== RCS file: /cvs/mandoc/mandoc.c,v retrieving revision 1.72 retrieving revision 1.75 diff -u -p -r1.72 -r1.75 --- mandoc/mandoc.c 2013/12/25 22:45:33 1.72 +++ mandoc/mandoc.c 2013/12/31 23:23:10 1.75 @@ -1,4 +1,4 @@ -/* $Id: mandoc.c,v 1.72 2013/12/25 22:45:33 schwarze Exp $ */ +/* $Id: mandoc.c,v 1.75 2013/12/31 23:23:10 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2011, 2012, 2013 Ingo Schwarze @@ -40,7 +40,7 @@ static char *time2a(time_t); enum mandoc_esc -mandoc_escape(const char const **end, const char const **start, int *sz) +mandoc_escape(const char **end, const char **start, int *sz) { const char *local_start; int local_sz; @@ -165,12 +165,16 @@ mandoc_escape(const char const **end, const char const /* FALLTHROUGH */ case ('b'): /* FALLTHROUGH */ + case ('B'): + /* FALLTHROUGH */ case ('D'): /* FALLTHROUGH */ case ('o'): /* FALLTHROUGH */ case ('R'): /* FALLTHROUGH */ + case ('w'): + /* FALLTHROUGH */ case ('X'): /* FALLTHROUGH */ case ('Z'): @@ -185,8 +189,6 @@ mandoc_escape(const char const **end, const char const * These escapes are of the form \X'N', where 'X' is the trigger * and 'N' resolves to a numerical expression. */ - case ('B'): - /* FALLTHROUGH */ case ('h'): /* FALLTHROUGH */ case ('H'): @@ -194,19 +196,15 @@ mandoc_escape(const char const **end, const char const case ('L'): /* FALLTHROUGH */ case ('l'): - gly = ESCAPE_NUMBERED; /* FALLTHROUGH */ case ('S'): /* FALLTHROUGH */ case ('v'): /* FALLTHROUGH */ - case ('w'): - /* FALLTHROUGH */ case ('x'): if ('\'' != **start) return(ESCAPE_ERROR); - if (ESCAPE_ERROR == gly) - gly = ESCAPE_IGNORE; + gly = ESCAPE_IGNORE; *start = ++*end; term = '\''; break; @@ -596,10 +594,10 @@ mandoc_normdate(struct mparse *parse, char *in, int ln } int -mandoc_eos(const char *p, size_t sz, int enclosed) +mandoc_eos(const char *p, size_t sz) { - const char *q; - int found; + const char *q; + int enclosed, found; if (0 == sz) return(0); @@ -610,7 +608,7 @@ mandoc_eos(const char *p, size_t sz, int enclosed) * propagate outward. */ - found = 0; + enclosed = found = 0; for (q = p + (int)sz - 1; q >= p; q--) { switch (*q) { case ('\"'):