diff options
Diffstat (limited to '')
-rw-r--r-- | template.c | 16 |
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, """); str++; - break; case '&': n = fprintf(file, "&"); str++; - break; case '<': n = fprintf(file, "<"); str++; - break; case '>': n = fprintf(file, ">"); 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, """); + break; case '&': str++; n = fprintf(file, "&"); + break; case '<': str++; n = fprintf(file, "<"); + break; case '>': str++; n = fprintf(file, ">"); + } + if (n < 0) return n; } return 0; } |