=================================================================== RCS file: /cvs/mandoc/read.c,v retrieving revision 1.11 retrieving revision 1.16 diff -u -p -r1.11 -r1.16 --- mandoc/read.c 2011/04/04 23:04:38 1.11 +++ mandoc/read.c 2011/07/17 12:52:54 1.16 @@ -1,4 +1,4 @@ -/* $Id: read.c,v 1.11 2011/04/04 23:04:38 kristaps Exp $ */ +/* $Id: read.c,v 1.16 2011/07/17 12:52:54 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010, 2011 Ingo Schwarze @@ -19,8 +19,10 @@ #include "config.h" #endif -#include -#include +#ifdef HAVE_MMAP +# include +# include +#endif #include #include @@ -142,8 +144,11 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "tab in non-literal context", "end of line whitespace", "bad comment style", - "unknown escape sequence", + "bad escape sequence", "unterminated quoted string", + + /* related to equations */ + "unexpected literal in equation", "generic error", @@ -354,7 +359,7 @@ mparse_buf_r(struct mparse *curp, struct buf blk, int continue; } - if ('"' == blk.buf[i + 1]) { + if ('"' == blk.buf[i + 1] || '#' == blk.buf[i + 1]) { i += 2; /* Comment, skip to end of line */ for (; i < (int)blk.sz; ++i) { @@ -445,7 +450,7 @@ rerun: /* * 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 * parsers with each one. */ @@ -529,19 +534,22 @@ pdesc(struct mparse *curp, const char *file, int fd) mparse_buf_r(curp, blk, 1); +#ifdef HAVE_MMAP if (with_mmap) munmap(blk.buf, blk.sz); else +#endif free(blk.buf); } static int read_whole_file(const char *file, int fd, struct buf *fb, int *with_mmap) { - struct stat st; size_t off; ssize_t ssz; +#ifdef HAVE_MMAP + struct stat st; if (-1 == fstat(fd, &st)) { perror(file); return(0); @@ -566,6 +574,7 @@ read_whole_file(const char *file, int fd, struct buf * if (fb->buf != MAP_FAILED) return(1); } +#endif /* * If this isn't a regular file (like, say, stdin), then we must