From 775cf28a2f6045caf652108092ab79ead3bc0056 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Mon, 19 Jan 2015 20:41:52 -0800 Subject: Man writer: ensure we properly escape multiline strings. --- src/man.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/man.c') diff --git a/src/man.c b/src/man.c index 2c8a3a5..aa81b2b 100644 --- a/src/man.c +++ b/src/man.c @@ -14,12 +14,13 @@ static void escape_man(cmark_strbuf *dest, const unsigned char *source, int leng { int i; unsigned char c; + bool beginLine = true; for (i = 0; i < length; i++) { c = source[i]; - if (c == '.' && i == 0) { + if (c == '.' && beginLine) { cmark_strbuf_puts(dest, "\\&."); - } else if (c == '\'' && i == 0) { + } else if (c == '\'' && beginLine) { cmark_strbuf_puts(dest, "\\&'"); } else if (c == '-') { cmark_strbuf_puts(dest, "\\-"); @@ -28,6 +29,7 @@ static void escape_man(cmark_strbuf *dest, const unsigned char *source, int leng } else { cmark_strbuf_putc(dest, source[i]); } + beginLine = (c == '\n'); } } -- cgit v1.2.3