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

Diff for /mandoc/read.c between version 1.8 and 1.17

version 1.8, 2011/03/31 10:54:39 version 1.17, 2011/07/17 14:08:49
Line 15 
Line 15 
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
 #include <sys/stat.h>  #ifdef HAVE_CONFIG_H
 #include <sys/mman.h>  #include "config.h"
   #endif
   
   #ifdef HAVE_MMAP
   # include <sys/stat.h>
   # include <sys/mman.h>
   #endif
   
 #include <assert.h>  #include <assert.h>
 #include <ctype.h>  #include <ctype.h>
 #include <fcntl.h>  #include <fcntl.h>
Line 138  static const char * const mandocerrs[MANDOCERR_MAX] = 
Line 144  static const char * const mandocerrs[MANDOCERR_MAX] = 
         "tab in non-literal context",          "tab in non-literal context",
         "end of line whitespace",          "end of line whitespace",
         "bad comment style",          "bad comment style",
         "unknown escape sequence",          "bad escape sequence",
         "unterminated quoted string",          "unterminated quoted string",
   
           /* related to equations */
           "unexpected literal in equation",
   
         "generic error",          "generic error",
   
           /* related to equations */
           "bad equation macro syntax",
   
         /* related to tables */          /* related to tables */
         "bad table syntax",          "bad table syntax",
         "bad table option",          "bad table option",
Line 350  mparse_buf_r(struct mparse *curp, struct buf blk, int 
Line 362  mparse_buf_r(struct mparse *curp, struct buf blk, int 
                                 continue;                                  continue;
                         }                          }
   
                         if ('"' == blk.buf[i + 1]) {                          if ('"' == blk.buf[i + 1] || '#' == blk.buf[i + 1]) {
                                 i += 2;                                  i += 2;
                                 /* Comment, skip to end of line */                                  /* Comment, skip to end of line */
                                 for (; i < (int)blk.sz; ++i) {                                  for (; i < (int)blk.sz; ++i) {
Line 441  rerun:
Line 453  rerun:
   
                 /*                  /*
                  * If input parsers have not been allocated, do so now.                   * If input parsers have not been allocated, do so now.
                  * We keep these instanced betwen parsers, but set them                   * We keep these instanced between parsers, but set them
                  * locally per parse routine since we can use different                   * locally per parse routine since we can use different
                  * parsers with each one.                   * parsers with each one.
                  */                   */
Line 525  pdesc(struct mparse *curp, const char *file, int fd)
Line 537  pdesc(struct mparse *curp, const char *file, int fd)
   
         mparse_buf_r(curp, blk, 1);          mparse_buf_r(curp, blk, 1);
   
   #ifdef  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);
 }  }
   
 static int  static int
 read_whole_file(const char *file, int fd, struct buf *fb, int *with_mmap)  read_whole_file(const char *file, int fd, struct buf *fb, int *with_mmap)
 {  {
         struct stat      st;  
         size_t           off;          size_t           off;
         ssize_t          ssz;          ssize_t          ssz;
   
   #ifdef  HAVE_MMAP
           struct stat      st;
         if (-1 == fstat(fd, &st)) {          if (-1 == fstat(fd, &st)) {
                 perror(file);                  perror(file);
                 return(0);                  return(0);
Line 562  read_whole_file(const char *file, int fd, struct buf *
Line 577  read_whole_file(const char *file, int fd, struct buf *
                 if (fb->buf != MAP_FAILED)                  if (fb->buf != MAP_FAILED)
                         return(1);                          return(1);
         }          }
   #endif
   
         /*          /*
          * If this isn't a regular file (like, say, stdin), then we must           * If this isn't a regular file (like, say, stdin), then we must
Line 662  mparse_alloc(enum mparset inttype, enum mandoclevel wl
Line 678  mparse_alloc(enum mparset inttype, enum mandoclevel wl
 {  {
         struct mparse   *curp;          struct mparse   *curp;
   
           assert(wlevel <= MANDOCLEVEL_FATAL);
   
         curp = mandoc_calloc(1, sizeof(struct mparse));          curp = mandoc_calloc(1, sizeof(struct mparse));
   
         curp->wlevel = wlevel;          curp->wlevel = wlevel;
Line 709  void
Line 727  void
 mparse_result(struct mparse *curp, struct mdoc **mdoc, struct man **man)  mparse_result(struct mparse *curp, struct mdoc **mdoc, struct man **man)
 {  {
   
         *mdoc = curp->mdoc;          if (mdoc)
         *man = curp->man;                  *mdoc = curp->mdoc;
           if (man)
                   *man = curp->man;
 }  }
   
 void  void

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.17

CVSweb