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

Diff for /mandoc/read.c between version 1.150.2.7 and 1.157

version 1.150.2.7, 2017/02/03 18:22:30 version 1.157, 2017/01/09 01:37:03
Line 19 
Line 19 
 #include "config.h"  #include "config.h"
   
 #include <sys/types.h>  #include <sys/types.h>
 #if HAVE_MMAP  
 #include <sys/mman.h>  #include <sys/mman.h>
 #include <sys/stat.h>  #include <sys/stat.h>
 #endif  
   
 #include <assert.h>  #include <assert.h>
 #include <ctype.h>  #include <ctype.h>
Line 50 
Line 48 
 #define REPARSE_LIMIT   1000  #define REPARSE_LIMIT   1000
   
 struct  mparse {  struct  mparse {
         struct roff      *roff; /* roff parser (!NULL) */  
         struct roff_man  *man; /* man parser */          struct roff_man  *man; /* man parser */
           struct roff      *roff; /* roff parser (!NULL) */
         char             *sodest; /* filename pointed to by .so */          char             *sodest; /* filename pointed to by .so */
         const char       *file; /* filename of current input file */          const char       *file; /* filename of current input file */
         struct buf       *primary; /* buffer currently being parsed */          struct buf       *primary; /* buffer currently being parsed */
Line 179  static const char * const mandocerrs[MANDOCERR_MAX] = 
Line 177  static const char * const mandocerrs[MANDOCERR_MAX] = 
         "blank line in fill mode, using .sp",          "blank line in fill mode, using .sp",
         "tab in filled text",          "tab in filled text",
         "whitespace at end of input line",          "whitespace at end of input line",
         "new sentence, new line",  
         "bad comment style",          "bad comment style",
         "invalid escape sequence",          "invalid escape sequence",
         "undefined string, using \"\"",          "undefined string, using \"\"",
Line 609  read_whole_file(struct mparse *curp, const char *file,
Line 606  read_whole_file(struct mparse *curp, const char *file,
         size_t           off;          size_t           off;
         ssize_t          ssz;          ssize_t          ssz;
   
 #if HAVE_MMAP  
         struct stat      st;          struct stat      st;
   
         if (fstat(fd, &st) == -1)          if (fstat(fd, &st) == -1)
Line 633  read_whole_file(struct mparse *curp, const char *file,
Line 629  read_whole_file(struct mparse *curp, const char *file,
                 if (fb->buf != MAP_FAILED)                  if (fb->buf != MAP_FAILED)
                         return 1;                          return 1;
         }          }
 #endif  
   
         if (curp->gzip) {          if (curp->gzip) {
                 if ((gz = gzdopen(fd, "rb")) == NULL)                  if ((gz = gzdopen(fd, "rb")) == NULL)
Line 758  mparse_readfd(struct mparse *curp, int fd, const char 
Line 753  mparse_readfd(struct mparse *curp, int fd, const char 
                     (MPARSE_UTF8 | MPARSE_LATIN1);                      (MPARSE_UTF8 | MPARSE_LATIN1);
                 mparse_parse_buffer(curp, blk, file);                  mparse_parse_buffer(curp, blk, file);
                 curp->filenc = save_filenc;                  curp->filenc = save_filenc;
 #if HAVE_MMAP  
                 if (with_mmap)                  if (with_mmap)
                         munmap(blk.buf, blk.sz);                          munmap(blk.buf, blk.sz);
                 else                  else
 #endif  
                         free(blk.buf);                          free(blk.buf);
         }          }
         return curp->file_status;          return curp->file_status;
Line 836  mparse_reset(struct mparse *curp)
Line 829  mparse_reset(struct mparse *curp)
 {  {
         roff_reset(curp->roff);          roff_reset(curp->roff);
         roff_man_reset(curp->man);          roff_man_reset(curp->man);
   
         free(curp->sodest);  
         curp->sodest = NULL;  
   
         if (curp->secondary)          if (curp->secondary)
                 curp->secondary->sz = 0;                  curp->secondary->sz = 0;
   
         curp->file_status = MANDOCLEVEL_OK;          curp->file_status = MANDOCLEVEL_OK;
         curp->gzip = 0;  
           free(curp->sodest);
           curp->sodest = NULL;
 }  }
   
 void  void
Line 852  mparse_free(struct mparse *curp)
Line 843  mparse_free(struct mparse *curp)
 {  {
   
         roff_man_free(curp->man);          roff_man_free(curp->man);
         roff_free(curp->roff);          if (curp->roff)
                   roff_free(curp->roff);
         if (curp->secondary)          if (curp->secondary)
                 free(curp->secondary->buf);                  free(curp->secondary->buf);
   

Legend:
Removed from v.1.150.2.7  
changed lines
  Added in v.1.157

CVSweb