version 1.150.2.7, 2017/02/03 18:22:30 |
version 1.162, 2017/03/06 17:26:05 |
|
|
#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> |
|
|
#include <errno.h> |
#include <errno.h> |
#include <fcntl.h> |
#include <fcntl.h> |
#include <stdarg.h> |
#include <stdarg.h> |
#include <stdint.h> |
|
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
#include <string.h> |
#include <string.h> |
Line 116 static const char * const mandocerrs[MANDOCERR_MAX] = |
|
Line 113 static const char * const mandocerrs[MANDOCERR_MAX] = |
|
"bad NAME section content", |
"bad NAME section content", |
"missing comma before name", |
"missing comma before name", |
"missing description line, using \"\"", |
"missing description line, using \"\"", |
|
"description line outside NAME section", |
"sections out of conventional order", |
"sections out of conventional order", |
"duplicate section title", |
"duplicate section title", |
"unexpected section", |
"unexpected section", |
|
|
read_whole_file(struct mparse *curp, const char *file, int fd, |
read_whole_file(struct mparse *curp, const char *file, int fd, |
struct buf *fb, int *with_mmap) |
struct buf *fb, int *with_mmap) |
{ |
{ |
|
struct stat st; |
gzFile gz; |
gzFile gz; |
size_t off; |
size_t off; |
ssize_t ssz; |
ssize_t ssz; |
|
|
#if HAVE_MMAP |
|
struct stat st; |
|
|
|
if (fstat(fd, &st) == -1) |
if (fstat(fd, &st) == -1) |
err((int)MANDOCLEVEL_SYSERR, "%s", file); |
err((int)MANDOCLEVEL_SYSERR, "%s", file); |
|
|
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; |