summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--html.c7
1 files 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;