=================================================================== RCS file: /cvs/mandoc/roff.c,v retrieving revision 1.277 retrieving revision 1.280 diff -u -p -r1.277 -r1.280 --- mandoc/roff.c 2015/10/06 18:32:20 1.277 +++ mandoc/roff.c 2015/10/15 23:35:55 1.280 @@ -1,4 +1,4 @@ -/* $Id: roff.c,v 1.277 2015/10/06 18:32:20 schwarze Exp $ */ +/* $Id: roff.c,v 1.280 2015/10/15 23:35:55 schwarze Exp $ */ /* * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons * Copyright (c) 2010-2015 Ingo Schwarze @@ -33,9 +33,6 @@ #include "roff_int.h" #include "libroff.h" -/* Maximum number of nested if-else conditionals. */ -#define RSTACK_MAX 128 - /* Maximum number of string expansions per line, to break infinite loops. */ #define EXPAND_LIMIT 1000 @@ -316,7 +313,6 @@ struct roffreg { struct roff { struct mparse *parse; /* parse point */ - const struct mchars *mchars; /* character table */ struct roffnode *last; /* leaf of stack */ int *rstack; /* stack of inverted `ie' values */ struct roffreg *regtab; /* number registers */ @@ -901,13 +897,12 @@ roff_free(struct roff *r) } struct roff * -roff_alloc(struct mparse *parse, const struct mchars *mchars, int options) +roff_alloc(struct mparse *parse, int options) { struct roff *r; r = mandoc_calloc(1, sizeof(struct roff)); r->parse = parse; - r->mchars = mchars; r->options = options; r->format = options & (MPARSE_MDOC | MPARSE_MAN); r->rstackpos = -1; @@ -1037,7 +1032,6 @@ roff_node_append(struct roff_man *man, struct roff_nod break; /* FALLTHROUGH */ case ROFFT_TAIL: - /* FALLTHROUGH */ case ROFFT_HEAD: n->norm = n->parent->norm; break; @@ -1335,7 +1329,6 @@ roff_res(struct roff *r, struct buf *buf, int ln, int res = NULL; break; case 'B': - /* FALLTHROUGH */ case 'w': term = cp[1]; /* FALLTHROUGH */ @@ -1346,7 +1339,7 @@ roff_res(struct roff *r, struct buf *buf, int ln, int esc = mandoc_escape(&cp, &stnam, &inaml); if (esc == ESCAPE_ERROR || (esc == ESCAPE_SPECIAL && - mchars_spec2cp(r->mchars, stnam, inaml) < 0)) + mchars_spec2cp(stnam, inaml) < 0)) mandoc_vmsg(MANDOCERR_ESC_BAD, r->parse, ln, (int)(stesc - buf->buf), "%.*s", (int)(cp - stesc), stesc); @@ -1410,11 +1403,8 @@ roff_res(struct roff *r, struct buf *buf, int ln, int } switch (mandoc_escape(&cp, NULL, NULL)) { case ESCAPE_SPECIAL: - /* FALLTHROUGH */ case ESCAPE_UNICODE: - /* FALLTHROUGH */ case ESCAPE_NUMBERED: - /* FALLTHROUGH */ case ESCAPE_OVERSTRIKE: naml++; break; @@ -1721,14 +1711,10 @@ roff_cblock(ROFF_ARGS) switch (r->last->tok) { case ROFF_am: /* ROFF_am1 is remapped to ROFF_am in roff_block(). */ - /* FALLTHROUGH */ case ROFF_ami: - /* FALLTHROUGH */ case ROFF_de: /* ROFF_de1 is remapped to ROFF_de in roff_block(). */ - /* FALLTHROUGH */ case ROFF_dei: - /* FALLTHROUGH */ case ROFF_ig: break; default: @@ -1770,9 +1756,7 @@ roff_ccond(struct roff *r, int ln, int ppos) switch (r->last->tok) { case ROFF_el: - /* FALLTHROUGH */ case ROFF_ie: - /* FALLTHROUGH */ case ROFF_if: break; default: @@ -2059,12 +2043,10 @@ roff_getnum(const char *v, int *pos, int *res, int fla scaled = *res * 240 / 2.54; break; case 'v': - /* FALLTHROUGH */ case 'P': scaled = *res * 40; break; case 'm': - /* FALLTHROUGH */ case 'n': scaled = *res * 24; break; @@ -2153,18 +2135,13 @@ roff_evalcond(struct roff *r, int ln, char *v, int *po case '\0': return 0; case 'n': - /* FALLTHROUGH */ case 'o': (*pos)++; return wanttrue; case 'c': - /* FALLTHROUGH */ case 'd': - /* FALLTHROUGH */ case 'e': - /* FALLTHROUGH */ case 't': - /* FALLTHROUGH */ case 'v': (*pos)++; return !wanttrue; @@ -2340,17 +2317,11 @@ roff_getop(const char *v, int *pos, char *res) switch (*res) { case '+': - /* FALLTHROUGH */ case '-': - /* FALLTHROUGH */ case '*': - /* FALLTHROUGH */ case '/': - /* FALLTHROUGH */ case '%': - /* FALLTHROUGH */ case '&': - /* FALLTHROUGH */ case ':': break; case '<':