- Commit
- 775cf28a2f6045caf652108092ab79ead3bc0056
- Parent
- 70d53619797fa91d1d8ea597ae21c84e64175c4c
- Author
- John MacFarlane <jgm@berkeley.edu>
- Date
Man writer: ensure we properly escape multiline strings.
My personal build of CMark ✏️
Man writer: ensure we properly escape multiline strings.
1 file changed, 4 insertions, 2 deletions
Status | File Name | N° Changes | Insertions | Deletions |
Modified | src/man.c | 6 | 4 | 2 |
diff --git 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'); } }