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

Diff for /mandoc/read.c between version 1.71 and 1.76

version 1.71, 2014/07/30 12:58:21 version 1.76, 2014/07/31 09:22:21
Line 144  static const char * const mandocerrs[MANDOCERR_MAX] = 
Line 144  static const char * const mandocerrs[MANDOCERR_MAX] = 
         "missing -std argument, adding it",          "missing -std argument, adding it",
   
         /* related to bad macro arguments */          /* related to bad macro arguments */
         "skipping argument",  
         "unterminated quoted argument",          "unterminated quoted argument",
         "duplicate argument",          "duplicate argument",
           "skipping duplicate argument",
         "skipping duplicate display type",          "skipping duplicate display type",
         "skipping duplicate list type",          "skipping duplicate list type",
           "skipping -width argument",
         "unknown AT&T UNIX version",          "unknown AT&T UNIX version",
         "invalid content in Rs block",          "invalid content in Rs block",
         "invalid Boolean argument",          "invalid Boolean argument",
Line 185  static const char * const mandocerrs[MANDOCERR_MAX] = 
Line 186  static const char * const mandocerrs[MANDOCERR_MAX] = 
         "input stack limit exceeded, infinite loop?",          "input stack limit exceeded, infinite loop?",
         "skipping bad character",          "skipping bad character",
         "skipping unknown macro",          "skipping unknown macro",
           "skipping item outside list",
         "skipping column outside column list",          "skipping column outside column list",
         "skipping end of block that is not open",          "skipping end of block that is not open",
         "inserting missing end of block",          "inserting missing end of block",
Line 204  static const char * const mandocerrs[MANDOCERR_MAX] = 
Line 206  static const char * const mandocerrs[MANDOCERR_MAX] = 
         "generic fatal error",          "generic fatal error",
   
         "input too large",          "input too large",
         "not a manual",  
         "column syntax is inconsistent",  
         "NOT IMPLEMENTED: .Bd -file",          "NOT IMPLEMENTED: .Bd -file",
         "child violates parent syntax",  
         "argument count wrong, violates syntax",  
         "NOT IMPLEMENTED: .so with absolute path or \"..\"",          "NOT IMPLEMENTED: .so with absolute path or \"..\"",
         ".so request failed",          ".so request failed",
         "no document prologue",  
         "static buffer exhausted",          "static buffer exhausted",
   
         /* system errors */          /* system errors */
Line 264  pset(const char *buf, int pos, struct mparse *curp)
Line 261  pset(const char *buf, int pos, struct mparse *curp)
         }          }
   
         if (MPARSE_MDOC & curp->options) {          if (MPARSE_MDOC & curp->options) {
                 if (NULL == curp->pmdoc)  
                         curp->pmdoc = mdoc_alloc(  
                             curp->roff, curp, curp->defos,  
                             MPARSE_QUICK & curp->options ? 1 : 0);  
                 assert(curp->pmdoc);  
                 curp->mdoc = curp->pmdoc;                  curp->mdoc = curp->pmdoc;
                 return;                  return;
         } else if (MPARSE_MAN & curp->options) {          } else if (MPARSE_MAN & curp->options) {
                 if (NULL == curp->pman)  
                         curp->pman = man_alloc(curp->roff, curp,  
                             MPARSE_QUICK & curp->options ? 1 : 0);  
                 assert(curp->pman);  
                 curp->man = curp->pman;                  curp->man = curp->pman;
                 return;                  return;
         }          }
Line 683  mparse_end(struct mparse *curp)
Line 671  mparse_end(struct mparse *curp)
         if (MANDOCLEVEL_FATAL <= curp->file_status)          if (MANDOCLEVEL_FATAL <= curp->file_status)
                 return;                  return;
   
           if (curp->mdoc == NULL &&
               curp->man == NULL &&
               curp->sodest == NULL) {
                   if (curp->options & MPARSE_MDOC)
                           curp->mdoc = curp->pmdoc;
                   else {
                           if (curp->pman == NULL)
                                   curp->pman = man_alloc(curp->roff, curp,
                                       curp->options & MPARSE_QUICK ? 1 : 0);
                           curp->man = curp->pman;
                   }
           }
   
         if (curp->mdoc && ! mdoc_endparse(curp->mdoc)) {          if (curp->mdoc && ! mdoc_endparse(curp->mdoc)) {
                 assert(MANDOCLEVEL_FATAL <= curp->file_status);                  assert(MANDOCLEVEL_FATAL <= curp->file_status);
                 return;                  return;
Line 693  mparse_end(struct mparse *curp)
Line 694  mparse_end(struct mparse *curp)
                 return;                  return;
         }          }
   
         if ( ! (curp->mdoc || curp->man || curp->sodest)) {  
                 mandoc_msg(MANDOCERR_NOTMANUAL, curp, 0, 0, NULL);  
                 curp->file_status = MANDOCLEVEL_FATAL;  
                 return;  
         }  
   
         roff_endparse(curp->roff);          roff_endparse(curp->roff);
 }  }
   
Line 796  mparse_alloc(int options, enum mandoclevel wlevel,
Line 791  mparse_alloc(int options, enum mandoclevel wlevel,
         curp->defos = defos;          curp->defos = defos;
   
         curp->roff = roff_alloc(curp, options);          curp->roff = roff_alloc(curp, options);
           if (curp->options & MPARSE_MDOC)
                   curp->pmdoc = mdoc_alloc(
                       curp->roff, curp, curp->defos,
                       curp->options & MPARSE_QUICK ? 1 : 0);
           if (curp->options & MPARSE_MAN)
                   curp->pman = man_alloc(curp->roff, curp,
                       curp->options & MPARSE_QUICK ? 1 : 0);
   
         return(curp);          return(curp);
 }  }
   

Legend:
Removed from v.1.71  
changed lines
  Added in v.1.76

CVSweb