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

Diff for /mandoc/read.c between version 1.83 and 1.88

version 1.83, 2014/09/06 22:39:36 version 1.88, 2014/09/12 00:54:10
Line 69  struct mparse {
Line 69  struct mparse {
         int               line; /* line number in the file */          int               line; /* line number in the file */
 };  };
   
   static  void      choose_parser(struct mparse *);
 static  void      resize_buf(struct buf *, size_t);  static  void      resize_buf(struct buf *, size_t);
 static  void      mparse_buf_r(struct mparse *, struct buf, int);  static  void      mparse_buf_r(struct mparse *, struct buf, int);
 static  void      pset(const char *, int, struct mparse *);  
 static  int       read_whole_file(struct mparse *, const char *, int,  static  int       read_whole_file(struct mparse *, const char *, int,
                                 struct buf *, int *);                                  struct buf *, int *);
 static  void      mparse_end(struct mparse *);  static  void      mparse_end(struct mparse *);
Line 117  static const char * const mandocerrs[MANDOCERR_MAX] = 
Line 117  static const char * const mandocerrs[MANDOCERR_MAX] = 
         "sections out of conventional order",          "sections out of conventional order",
         "duplicate section title",          "duplicate section title",
         "unexpected section",          "unexpected section",
           "unusual Xr order",
           "unusual Xr punctuation",
           "AUTHORS section without An macro",
   
         /* related to macros and nesting */          /* related to macros and nesting */
         "obsolete macro",          "obsolete macro",
Line 155  static const char * const mandocerrs[MANDOCERR_MAX] = 
Line 158  static const char * const mandocerrs[MANDOCERR_MAX] = 
         "skipping duplicate list type",          "skipping duplicate list type",
         "skipping -width argument",          "skipping -width argument",
         "unknown AT&T UNIX version",          "unknown AT&T UNIX version",
           "comma in function argument",
         "invalid content in Rs block",          "invalid content in Rs block",
         "invalid Boolean argument",          "invalid Boolean argument",
         "unknown font, skipping request",          "unknown font, skipping request",
Line 247  resize_buf(struct buf *buf, size_t initial)
Line 251  resize_buf(struct buf *buf, size_t initial)
 }  }
   
 static void  static void
 pset(const char *buf, int pos, struct mparse *curp)  choose_parser(struct mparse *curp)
 {  {
         char            *cp, *ep;          char            *cp, *ep;
         int              format;          int              format;
         int              i;  
   
         if ('.' == buf[0] || '\'' == buf[0]) {  
                 for (i = 1; buf[i]; i++)  
                         if (' ' != buf[i] && '\t' != buf[i])  
                                 break;  
                 if ('\0' == buf[i])  
                         return;  
         }  
   
         /*          /*
          * If neither command line arguments -mdoc or -man select           * If neither command line arguments -mdoc or -man select
          * a parser nor the roff parser found a .Dd or .TH macro           * a parser nor the roff parser found a .Dd or .TH macro
Line 271  pset(const char *buf, int pos, struct mparse *curp)
Line 266  pset(const char *buf, int pos, struct mparse *curp)
                 cp = curp->primary->buf;                  cp = curp->primary->buf;
                 ep = cp + curp->primary->sz;                  ep = cp + curp->primary->sz;
                 while (cp < ep) {                  while (cp < ep) {
                         if (*cp == '.' || *cp != '\'') {                          if (*cp == '.' || *cp == '\'') {
                                 cp++;                                  cp++;
                                 if (cp[0] == 'D' && cp[1] == 'd') {                                  if (cp[0] == 'D' && cp[1] == 'd') {
                                         format = MPARSE_MDOC;                                          format = MPARSE_MDOC;
Line 550  rerun:
Line 545  rerun:
                  */                   */
   
                 if ( ! (curp->man || curp->mdoc))                  if ( ! (curp->man || curp->mdoc))
                         pset(ln.buf + of, pos - of, curp);                          choose_parser(curp);
   
                 /*                  /*
                  * Lastly, push down into the parsers themselves.  One                   * Lastly, push down into the parsers themselves.
                  * of these will have already been set in the pset()  
                  * routine.  
                  * If libroff returns ROFF_TBL, then add it to the                   * If libroff returns ROFF_TBL, then add it to the
                  * currently open parse.  Since we only get here if                   * currently open parse.  Since we only get here if
                  * there does exist data (see tbl_data.c), we're                   * there does exist data (see tbl_data.c), we're
Line 723  mparse_end(struct mparse *curp)
Line 716  mparse_end(struct mparse *curp)
 static void  static void
 mparse_parse_buffer(struct mparse *curp, struct buf blk, const char *file)  mparse_parse_buffer(struct mparse *curp, struct buf blk, const char *file)
 {  {
           struct buf      *svprimary;
         const char      *svfile;          const char      *svfile;
         static int       recursion_depth;          static int       recursion_depth;
   
Line 734  mparse_parse_buffer(struct mparse *curp, struct buf bl
Line 728  mparse_parse_buffer(struct mparse *curp, struct buf bl
         /* Line number is per-file. */          /* Line number is per-file. */
         svfile = curp->file;          svfile = curp->file;
         curp->file = file;          curp->file = file;
           svprimary = curp->primary;
         curp->primary = &blk;          curp->primary = &blk;
         curp->line = 1;          curp->line = 1;
         recursion_depth++;          recursion_depth++;
Line 743  mparse_parse_buffer(struct mparse *curp, struct buf bl
Line 738  mparse_parse_buffer(struct mparse *curp, struct buf bl
         if (0 == --recursion_depth && MANDOCLEVEL_FATAL > curp->file_status)          if (0 == --recursion_depth && MANDOCLEVEL_FATAL > curp->file_status)
                 mparse_end(curp);                  mparse_end(curp);
   
           curp->primary = svprimary;
         curp->file = svfile;          curp->file = svfile;
 }  }
   

Legend:
Removed from v.1.83  
changed lines
  Added in v.1.88

CVSweb