version 1.218, 2020/04/18 20:40:10 |
version 1.221, 2022/05/19 14:48:56 |
Line 154 mparse_buf_r(struct mparse *curp, struct buf blk, size |
|
Line 154 mparse_buf_r(struct mparse *curp, struct buf blk, size |
|
struct buf *firstln, *lastln, *thisln, *loop; |
struct buf *firstln, *lastln, *thisln, *loop; |
char *cp; |
char *cp; |
size_t pos; /* byte number in the ln buffer */ |
size_t pos; /* byte number in the ln buffer */ |
|
size_t spos; /* at the start of the current line parse */ |
int line_result, result; |
int line_result, result; |
int of; |
int of; |
int lnn; /* line number in the real file */ |
int lnn; /* line number in the real file */ |
Line 180 mparse_buf_r(struct mparse *curp, struct buf blk, size |
|
Line 181 mparse_buf_r(struct mparse *curp, struct buf blk, size |
|
curp->filenc & MPARSE_LATIN1) |
curp->filenc & MPARSE_LATIN1) |
curp->filenc = preconv_cue(&blk, i); |
curp->filenc = preconv_cue(&blk, i); |
} |
} |
|
spos = pos; |
|
|
while (i < blk.sz && (start || blk.buf[i] != '\0')) { |
while (i < blk.sz && (start || blk.buf[i] != '\0')) { |
|
|
Line 259 mparse_buf_r(struct mparse *curp, struct buf blk, size |
|
Line 261 mparse_buf_r(struct mparse *curp, struct buf blk, size |
|
lastln = thisln; |
lastln = thisln; |
} |
} |
|
|
/* XXX Ugly hack to mark the end of the input. */ |
/* |
|
* XXX Ugly hack to mark the end of the input, |
|
* such that the function roff_parse_comment() |
|
* doesn't attempt to append another line if the |
|
* last input line ends with an escape character. |
|
*/ |
|
|
if (i == blk.sz || blk.buf[i] == '\0') { |
if (i == blk.sz || blk.buf[i] == '\0') { |
if (pos + 2 > ln.sz) |
if (pos + 2 > ln.sz) |
Line 279 mparse_buf_r(struct mparse *curp, struct buf blk, size |
|
Line 286 mparse_buf_r(struct mparse *curp, struct buf blk, size |
|
|
|
of = 0; |
of = 0; |
rerun: |
rerun: |
line_result = roff_parseln(curp->roff, curp->line, &ln, &of); |
line_result = roff_parseln(curp->roff, curp->line, |
|
&ln, &of, start && spos == 0 ? pos : 0); |
|
|
/* Process options. */ |
/* Process options. */ |
|
|
Line 554 mparse_readfd(struct mparse *curp, int fd, const char |
|
Line 562 mparse_readfd(struct mparse *curp, int fd, const char |
|
|
|
struct buf blk; |
struct buf blk; |
struct buf *save_primary; |
struct buf *save_primary; |
const char *save_filename; |
const char *save_filename, *cp; |
size_t offset; |
size_t offset; |
int save_filenc, save_lineno; |
int save_filenc, save_lineno; |
int with_mmap; |
int with_mmap; |
Line 562 mparse_readfd(struct mparse *curp, int fd, const char |
|
Line 570 mparse_readfd(struct mparse *curp, int fd, const char |
|
if (recursion_depth > 64) { |
if (recursion_depth > 64) { |
mandoc_msg(MANDOCERR_ROFFLOOP, curp->line, 0, NULL); |
mandoc_msg(MANDOCERR_ROFFLOOP, curp->line, 0, NULL); |
return; |
return; |
} |
} else if (recursion_depth == 0 && |
|
(cp = strrchr(filename, '.')) != NULL && |
|
cp[1] >= '1' && cp[1] <= '9') |
|
curp->man->filesec = cp[1]; |
|
else |
|
curp->man->filesec = '\0'; |
|
|
if (read_whole_file(curp, fd, &blk, &with_mmap) == -1) |
if (read_whole_file(curp, fd, &blk, &with_mmap) == -1) |
return; |
return; |
|
|