=================================================================== RCS file: /cvs/mandoc/read.c,v retrieving revision 1.152 retrieving revision 1.154 diff -u -p -r1.152 -r1.154 --- mandoc/read.c 2016/10/09 18:16:56 1.152 +++ mandoc/read.c 2016/12/07 22:59:29 1.154 @@ -1,4 +1,4 @@ -/* $Id: read.c,v 1.152 2016/10/09 18:16:56 schwarze Exp $ */ +/* $Id: read.c,v 1.154 2016/12/07 22:59:29 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010-2016 Ingo Schwarze @@ -315,6 +315,7 @@ mparse_buf_r(struct mparse *curp, struct buf blk, size const char *save_file; char *cp; size_t pos; /* byte number in the ln buffer */ + size_t j; /* auxiliary byte number in the blk buffer */ enum rofferr rr; int of; int lnn; /* line number in the real file */ @@ -420,14 +421,21 @@ mparse_buf_r(struct mparse *curp, struct buf blk, size } if ('"' == blk.buf[i + 1] || '#' == blk.buf[i + 1]) { + j = i; i += 2; /* Comment, skip to end of line */ for (; i < blk.sz; ++i) { - if ('\n' == blk.buf[i]) { - ++i; - ++lnn; - break; - } + if (blk.buf[i] != '\n') + continue; + if (blk.buf[i - 1] == ' ' || + blk.buf[i - 1] == '\t') + mandoc_msg( + MANDOCERR_SPACE_EOL, + curp, curp->line, + pos + i-1 - j, NULL); + ++i; + ++lnn; + break; } /* Backout trailing whitespaces */