From 0b57cb9976c2eab1404d455038d69d2d273f105a Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Tue, 8 Dec 2020 20:34:35 -0500 Subject: Handle mail with no trailing newline correctly Embarrassing that my mail client produced such a thing. --- html.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/html.c b/html.c index 7fccc0a..75c2b7a 100644 --- a/html.c +++ b/html.c @@ -249,8 +249,8 @@ static int htmlMarkup(FILE *file, const char *content) { size_t cap = 0; char *buf = NULL; bool patch = false; - for (const char *nl; (nl = strchr(content, '\n')); content = &nl[1]) { - size_t len = nl - content; + while (*content) { + size_t len = strcspn(content, "\n"); if (cap < len + 1) { cap = len + 1; buf = realloc(buf, cap); @@ -295,6 +295,9 @@ static int htmlMarkup(FILE *file, const char *content) { error = error || templateRender(file, "\n", NULL, NULL); if (error) break; + + content += len; + if (*content) content++; } free(buf); return error; -- cgit 1.4.1