[BACK]Return to roff.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/roff.c between version 1.236 and 1.237

version 1.236, 2014/10/25 15:23:56 version 1.237, 2014/10/28 17:36:19
Line 107  struct roffreg {
Line 107  struct roffreg {
   
 struct  roff {  struct  roff {
         struct mparse   *parse; /* parse point */          struct mparse   *parse; /* parse point */
           const struct mchars *mchars; /* character table */
         struct roffnode *last; /* leaf of stack */          struct roffnode *last; /* leaf of stack */
         int             *rstack; /* stack of inverted `ie' values */          int             *rstack; /* stack of inverted `ie' values */
         struct roffreg  *regtab; /* number registers */          struct roffreg  *regtab; /* number registers */
Line 476  roff_free(struct roff *r)
Line 477  roff_free(struct roff *r)
 }  }
   
 struct roff *  struct roff *
 roff_alloc(struct mparse *parse, int options)  roff_alloc(struct mparse *parse, const struct mchars *mchars, int options)
 {  {
         struct roff     *r;          struct roff     *r;
   
         r = mandoc_calloc(1, sizeof(struct roff));          r = mandoc_calloc(1, sizeof(struct roff));
         r->parse = parse;          r->parse = parse;
           r->mchars = mchars;
         r->options = options;          r->options = options;
         r->format = options & (MPARSE_MDOC | MPARSE_MAN);          r->format = options & (MPARSE_MDOC | MPARSE_MAN);
         r->rstackpos = -1;          r->rstackpos = -1;
Line 508  roff_res(struct roff *r, char **bufp, size_t *szp, int
Line 510  roff_res(struct roff *r, char **bufp, size_t *szp, int
         char            *nbuf;  /* new buffer to copy bufp to */          char            *nbuf;  /* new buffer to copy bufp to */
         size_t           maxl;  /* expected length of the escape name */          size_t           maxl;  /* expected length of the escape name */
         size_t           naml;  /* actual length of the escape name */          size_t           naml;  /* actual length of the escape name */
           enum mandoc_esc  esc;   /* type of the escape sequence */
           int              inaml; /* length returned from mandoc_escape() */
         int              expand_count;  /* to avoid infinite loops */          int              expand_count;  /* to avoid infinite loops */
         int              npos;  /* position in numeric expression */          int              npos;  /* position in numeric expression */
         int              arg_complete; /* argument not interrupted by eol */          int              arg_complete; /* argument not interrupted by eol */
Line 551  roff_res(struct roff *r, char **bufp, size_t *szp, int
Line 555  roff_res(struct roff *r, char **bufp, size_t *szp, int
                         res = ubuf;                          res = ubuf;
                         break;                          break;
                 default:                  default:
                         if (ESCAPE_ERROR == mandoc_escape(&cp, NULL, NULL))                          esc = mandoc_escape(&cp, &stnam, &inaml);
                           if (esc == ESCAPE_ERROR ||
                               (esc == ESCAPE_SPECIAL &&
                                mchars_spec2cp(r->mchars, stnam, inaml) < 0))
                                 mandoc_vmsg(MANDOCERR_ESC_BAD,                                  mandoc_vmsg(MANDOCERR_ESC_BAD,
                                     r->parse, ln, (int)(stesc - *bufp),                                      r->parse, ln, (int)(stesc - *bufp),
                                     "%.*s", (int)(cp - stesc), stesc);                                      "%.*s", (int)(cp - stesc), stesc);

Legend:
Removed from v.1.236  
changed lines
  Added in v.1.237

CVSweb