=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/read.c,v retrieving revision 1.176 retrieving revision 1.177 diff -c -r1.176 -r1.177 *** src/usr.bin/mandoc/read.c 2018/12/14 02:15:10 1.176 --- src/usr.bin/mandoc/read.c 2018/12/14 05:17:45 1.177 *************** *** 1,4 **** ! /* $OpenBSD: read.c,v 1.176 2018/12/14 02:15:10 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010-2018 Ingo Schwarze --- 1,4 ---- ! /* $OpenBSD: read.c,v 1.177 2018/12/14 05:17:45 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010-2018 Ingo Schwarze *************** *** 206,212 **** if (c & 0x80) { if ( ! (curp->filenc && preconv_encode( &blk, &i, &ln, &pos, &curp->filenc))) { ! mandoc_vmsg(MANDOCERR_CHAR_BAD, curp, curp->line, pos, "0x%x", c); ln.buf[pos++] = '?'; i++; --- 206,212 ---- if (c & 0x80) { if ( ! (curp->filenc && preconv_encode( &blk, &i, &ln, &pos, &curp->filenc))) { ! mandoc_msg(MANDOCERR_CHAR_BAD, curp->line, pos, "0x%x", c); ln.buf[pos++] = '?'; i++; *************** *** 219,228 **** */ if (c == 0x7f || (c < 0x20 && c != 0x09)) { ! mandoc_vmsg(c == 0x00 || c == 0x04 || c > 0x0a ? MANDOCERR_CHAR_BAD : MANDOCERR_CHAR_UNSUPP, ! curp, curp->line, pos, "0x%x", c); i++; if (c != '\r') ln.buf[pos++] = '?'; --- 219,228 ---- */ if (c == 0x7f || (c < 0x20 && c != 0x09)) { ! mandoc_msg(c == 0x00 || c == 0x04 || c > 0x0a ? MANDOCERR_CHAR_BAD : MANDOCERR_CHAR_UNSUPP, ! curp->line, pos, "0x%x", c); i++; if (c != '\r') ln.buf[pos++] = '?'; *************** *** 296,302 **** if (loop == curp->loop) break; mandoc_msg(MANDOCERR_WHILE_NEST, ! curp, curp->line, pos, NULL); } curp->loop = thisln; loop = NULL; --- 296,302 ---- if (loop == curp->loop) break; mandoc_msg(MANDOCERR_WHILE_NEST, ! curp->line, pos, NULL); } curp->loop = thisln; loop = NULL; *************** *** 306,317 **** case ROFF_LOOPEXIT: if (curp->loop == NULL) { mandoc_msg(MANDOCERR_WHILE_FAIL, ! curp, curp->line, pos, NULL); break; } if (inloop == 0) { mandoc_msg(MANDOCERR_WHILE_INTO, ! curp, curp->line, pos, NULL); curp->loop = loop = NULL; break; } --- 306,317 ---- case ROFF_LOOPEXIT: if (curp->loop == NULL) { mandoc_msg(MANDOCERR_WHILE_FAIL, ! curp->line, pos, NULL); break; } if (inloop == 0) { mandoc_msg(MANDOCERR_WHILE_INTO, ! curp->line, pos, NULL); curp->loop = loop = NULL; break; } *************** *** 346,352 **** if (++curp->reparse_count > REPARSE_LIMIT) { /* Abort and return to the top level. */ result = ROFF_IGN; ! mandoc_msg(MANDOCERR_ROFFLOOP, curp, curp->line, pos, NULL); goto out; } --- 346,352 ---- if (++curp->reparse_count > REPARSE_LIMIT) { /* Abort and return to the top level. */ result = ROFF_IGN; ! mandoc_msg(MANDOCERR_ROFFLOOP, curp->line, pos, NULL); goto out; } *************** *** 370,378 **** mparse_readfd(curp, fd, ln.buf + of); close(fd); } else { ! mandoc_vmsg(MANDOCERR_SO_FAIL, ! curp, curp->line, pos, ! ".so %s", ln.buf + of); ln.sz = mandoc_asprintf(&cp, ".sp\nSee the file %s.\n.sp", ln.buf + of); --- 370,377 ---- mparse_readfd(curp, fd, ln.buf + of); close(fd); } else { ! mandoc_msg(MANDOCERR_SO_FAIL, curp->line, ! pos, ".so %s", ln.buf + of); ln.sz = mandoc_asprintf(&cp, ".sp\nSee the file %s.\n.sp", ln.buf + of); *************** *** 407,413 **** out: if (inloop) { if (result != ROFF_USERRET) ! mandoc_msg(MANDOCERR_WHILE_OUTOF, curp, curp->line, pos, NULL); curp->loop = NULL; } --- 406,412 ---- out: if (inloop) { if (result != ROFF_USERRET) ! mandoc_msg(MANDOCERR_WHILE_OUTOF, curp->line, pos, NULL); curp->loop = NULL; } *************** *** 427,433 **** int gzerrnum, retval; if (fstat(fd, &st) == -1) { ! mandoc_vmsg(MANDOCERR_FILE, curp, 0, 0, "fstat: %s", strerror(errno)); return 0; } --- 426,432 ---- int gzerrnum, retval; if (fstat(fd, &st) == -1) { ! mandoc_msg(MANDOCERR_FILE, 0, 0, "fstat: %s", strerror(errno)); return 0; } *************** *** 441,447 **** if (curp->gzip == 0 && S_ISREG(st.st_mode)) { if (st.st_size > 0x7fffffff) { ! mandoc_msg(MANDOCERR_TOOLARGE, curp, 0, 0, NULL); return 0; } *with_mmap = 1; --- 440,446 ---- if (curp->gzip == 0 && S_ISREG(st.st_mode)) { if (st.st_size > 0x7fffffff) { ! mandoc_msg(MANDOCERR_TOOLARGE, 0, 0, NULL); return 0; } *with_mmap = 1; *************** *** 460,471 **** * which this function must not do. */ if ((fd = dup(fd)) == -1) { ! mandoc_vmsg(MANDOCERR_FILE, curp, 0, 0, "dup: %s", strerror(errno)); return 0; } if ((gz = gzdopen(fd, "rb")) == NULL) { ! mandoc_vmsg(MANDOCERR_FILE, curp, 0, 0, "gzdopen: %s", strerror(errno)); close(fd); return 0; --- 459,470 ---- * which this function must not do. */ if ((fd = dup(fd)) == -1) { ! mandoc_msg(MANDOCERR_FILE, 0, 0, "dup: %s", strerror(errno)); return 0; } if ((gz = gzdopen(fd, "rb")) == NULL) { ! mandoc_msg(MANDOCERR_FILE, 0, 0, "gzdopen: %s", strerror(errno)); close(fd); return 0; *************** *** 486,493 **** for (;;) { if (off == fb->sz) { if (fb->sz == (1U << 31)) { ! mandoc_msg(MANDOCERR_TOOLARGE, curp, ! 0, 0, NULL); break; } resize_buf(fb, 65536); --- 485,491 ---- for (;;) { if (off == fb->sz) { if (fb->sz == (1U << 31)) { ! mandoc_msg(MANDOCERR_TOOLARGE, 0, 0, NULL); break; } resize_buf(fb, 65536); *************** *** 503,509 **** if (ssz == -1) { if (curp->gzip) (void)gzerror(gz, &gzerrnum); ! mandoc_vmsg(MANDOCERR_FILE, curp, 0, 0, "read: %s", curp->gzip && gzerrnum != Z_ERRNO ? zError(gzerrnum) : strerror(errno)); break; --- 501,507 ---- if (ssz == -1) { if (curp->gzip) (void)gzerror(gz, &gzerrnum); ! mandoc_msg(MANDOCERR_FILE, 0, 0, "read: %s", curp->gzip && gzerrnum != Z_ERRNO ? zError(gzerrnum) : strerror(errno)); break; *************** *** 512,518 **** } if (curp->gzip && (gzerrnum = gzclose(gz)) != Z_OK) ! mandoc_vmsg(MANDOCERR_FILE, curp, 0, 0, "gzclose: %s", gzerrnum == Z_ERRNO ? strerror(errno) : zError(gzerrnum)); if (retval == 0) { --- 510,516 ---- } if (curp->gzip && (gzerrnum = gzclose(gz)) != Z_OK) ! mandoc_msg(MANDOCERR_FILE, 0, 0, "gzclose: %s", gzerrnum == Z_ERRNO ? strerror(errno) : zError(gzerrnum)); if (retval == 0) { *************** *** 551,557 **** int with_mmap; if (recursion_depth > 64) { ! mandoc_msg(MANDOCERR_ROFFLOOP, curp, curp->line, 0, NULL); return; } if (read_whole_file(curp, fd, &blk, &with_mmap) == 0) --- 549,555 ---- int with_mmap; if (recursion_depth > 64) { ! mandoc_msg(MANDOCERR_ROFFLOOP, curp->line, 0, NULL); return; } if (read_whole_file(curp, fd, &blk, &with_mmap) == 0) *************** *** 633,639 **** /* Neither worked, give up. */ ! mandoc_msg(MANDOCERR_FILE, curp, 0, 0, strerror(errno)); return -1; } --- 631,637 ---- /* Neither worked, give up. */ ! mandoc_msg(MANDOCERR_FILE, 0, 0, "%s", strerror(errno)); return -1; }