about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-04-10 20:18:15 -0400
committerJune McEnroe <june@causal.agency>2020-04-10 20:18:15 -0400
commitd2ca52edb7152c5bb9ffdb099048de20d15f86e8 (patch)
tree510e696f19876d66850b94cf479fd9275c75b6a8
parentRevert "Use hard links for single-message mbox threads" (diff)
downloadbubger-d2ca52edb7152c5bb9ffdb099048de20d15f86e8.tar.gz
bubger-d2ca52edb7152c5bb9ffdb099048de20d15f86e8.zip
Write escapeXML in the same order as escapeURL
Diffstat (limited to '')
-rw-r--r--template.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/template.c b/template.c
index 435769c..750f339 100644
--- a/template.c
+++ b/template.c
@@ -48,20 +48,20 @@ int escapeURL(FILE *file, const char *str) {
 
 int escapeXML(FILE *file, const char *str) {
 	while (*str) {
-		int n = 0;
-		switch (*str) {
-			break; case '"': n = fprintf(file, "&quot;"); str++;
-			break; case '&': n = fprintf(file, "&amp;"); str++;
-			break; case '<': n = fprintf(file, "&lt;"); str++;
-			break; case '>': n = fprintf(file, "&gt;"); str++;
-		}
-		if (n < 0) return n;
 		size_t len = strcspn(str, "\"&<>");
 		if (len) {
 			size_t n = fwrite(str, len, 1, file);
 			if (!n) return -1;
 		}
 		str += len;
+		int n = 0;
+		switch (*str) {
+			break; case '"': str++; n = fprintf(file, "&quot;");
+			break; case '&': str++; n = fprintf(file, "&amp;");
+			break; case '<': str++; n = fprintf(file, "&lt;");
+			break; case '>': str++; n = fprintf(file, "&gt;");
+		}
+		if (n < 0) return n;
 	}
 	return 0;
 }