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

Diff for /mandoc/roff.c between version 1.226 and 1.227

version 1.226, 2014/08/19 16:52:32 version 1.227, 2014/09/06 22:39:36
Line 122  struct roff {
Line 122  struct roff {
         int              options; /* parse options */          int              options; /* parse options */
         int              rstacksz; /* current size limit of rstack */          int              rstacksz; /* current size limit of rstack */
         int              rstackpos; /* position in rstack */          int              rstackpos; /* position in rstack */
           int              format; /* current file in mdoc or man format */
         char             control; /* control character */          char             control; /* control character */
 };  };
   
Line 456  roff_reset(struct roff *r)
Line 457  roff_reset(struct roff *r)
 {  {
   
         roff_free1(r);          roff_free1(r);
           r->format = r->options & (MPARSE_MDOC | MPARSE_MAN);
         r->control = 0;          r->control = 0;
 }  }
   
Line 475  roff_alloc(struct mparse *parse, int options)
Line 477  roff_alloc(struct mparse *parse, int options)
         r = mandoc_calloc(1, sizeof(struct roff));          r = mandoc_calloc(1, sizeof(struct roff));
         r->parse = parse;          r->parse = parse;
         r->options = options;          r->options = options;
           r->format = options & (MPARSE_MDOC | MPARSE_MAN);
         r->rstackpos = -1;          r->rstackpos = -1;
   
         roffhash_init();          roffhash_init();
Line 1776  roff_Dd(ROFF_ARGS)
Line 1779  roff_Dd(ROFF_ARGS)
 {  {
         const char *const       *cp;          const char *const       *cp;
   
         if (0 == ((MPARSE_MDOC | MPARSE_QUICK) & r->options))          if ((r->options & (MPARSE_MDOC | MPARSE_QUICK)) == 0)
                 for (cp = __mdoc_reserved; *cp; cp++)                  for (cp = __mdoc_reserved; *cp; cp++)
                         roff_setstr(r, *cp, NULL, 0);                          roff_setstr(r, *cp, NULL, 0);
   
           if (r->format == 0)
                   r->format = MPARSE_MDOC;
   
         return(ROFF_CONT);          return(ROFF_CONT);
 }  }
   
Line 1788  roff_TH(ROFF_ARGS)
Line 1794  roff_TH(ROFF_ARGS)
 {  {
         const char *const       *cp;          const char *const       *cp;
   
         if (0 == (MPARSE_QUICK & r->options))          if ((r->options & MPARSE_QUICK) == 0)
                 for (cp = __man_reserved; *cp; cp++)                  for (cp = __man_reserved; *cp; cp++)
                         roff_setstr(r, *cp, NULL, 0);                          roff_setstr(r, *cp, NULL, 0);
   
           if (r->format == 0)
                   r->format = MPARSE_MAN;
   
         return(ROFF_CONT);          return(ROFF_CONT);
 }  }
   
Line 2305  roff_strdup(const struct roff *r, const char *p)
Line 2314  roff_strdup(const struct roff *r, const char *p)
   
         res[(int)ssz] = '\0';          res[(int)ssz] = '\0';
         return(res);          return(res);
   }
   
   int
   roff_getformat(const struct roff *r)
   {
   
           return(r->format);
 }  }
   
 /*  /*

Legend:
Removed from v.1.226  
changed lines
  Added in v.1.227

CVSweb