Module Name:    src
Committed By:   joerg
Date:           Mon Feb  6 10:42:44 UTC 2012

Modified Files:
        src/external/bsd/mdocml/dist: read.c

Log Message:
Pull read.c r1.27 from upstream repository:
Don't silently skip non-ASCII characters, but replace them with ``?''.
This is less likely to break the syntax of macros.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/bsd/mdocml/dist/read.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/mdocml/dist/read.c
diff -u src/external/bsd/mdocml/dist/read.c:1.4 src/external/bsd/mdocml/dist/read.c:1.5
--- src/external/bsd/mdocml/dist/read.c:1.4	Mon Jan 30 17:03:01 2012
+++ src/external/bsd/mdocml/dist/read.c	Mon Feb  6 10:42:44 2012
@@ -1,4 +1,4 @@
-/*	$Vendor-Id: read.c,v 1.26 2011/11/07 01:24:40 schwarze Exp $ */
+/*	$Vendor-Id: read.c,v 1.27 2012/02/05 16:46:15 joerg Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <krist...@bsd.lv>
  * Copyright (c) 2010, 2011 Ingo Schwarze <schwa...@openbsd.org>
@@ -325,9 +325,9 @@ mparse_buf_r(struct mparse *curp, struct
 			 * Warn about bogus characters.  If you're using
 			 * non-ASCII encoding, you're screwing your
 			 * readers.  Since I'd rather this not happen,
-			 * I'll be helpful and drop these characters so
-			 * we don't display gibberish.  Note to manual
-			 * writers: use special characters.
+			 * I'll be helpful and replace these characters
+			 * with "?", so we don't display gibberish.
+			 * Note to manual writers: use special characters.
 			 */
 
 			c = (unsigned char) blk.buf[i];
@@ -335,8 +335,11 @@ mparse_buf_r(struct mparse *curp, struct
 			if ( ! (isascii(c) && 
 					(isgraph(c) || isblank(c)))) {
 				mandoc_msg(MANDOCERR_BADCHAR, curp,
-						curp->line, pos, "ignoring byte");
+						curp->line, pos, NULL);
 				i++;
+				if (pos >= (int)ln.sz)
+					resize_buf(&ln, 256);
+				ln.buf[pos++] = '?';
 				continue;
 			}
 

Reply via email to