X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/53bc747d311d18642fa3ad0cc0de34f3899ed1f4..6d7e3596ebb387265d8cfdc5b312e0ea76da8c8a:/html.c diff --git a/html.c b/html.c index ed6cefc..d60a41f 100644 --- a/html.c +++ b/html.c @@ -39,7 +39,7 @@ static const char* url_escape_table[256] = { "%fe", "%ff" }; -int htmlfd = STDOUT_FILENO; +static int htmlfd = STDOUT_FILENO; char *fmt(const char *format, ...) { @@ -63,12 +63,13 @@ char *fmt(const char *format, ...) void html_raw(const char *data, size_t size) { - write(htmlfd, data, size); + if (write(htmlfd, data, size) != size) + fprintf(stderr, "[html.c] html output truncated.\n"); } void html(const char *txt) { - write(htmlfd, txt, strlen(txt)); + html_raw(txt, strlen(txt)); } void htmlf(const char *format, ...) @@ -92,7 +93,7 @@ void html_status(int code, const char *msg, int more_headers) void html_txt(const char *txt) { const char *t = txt; - while(t && *t){ + while (t && *t) { int c = *t; if (c == '<' || c == '>' || c == '&') { html_raw(txt, t - txt); @@ -113,7 +114,7 @@ void html_txt(const char *txt) void html_ntxt(int len, const char *txt) { const char *t = txt; - while(t && *t && len--){ + while (t && *t && len--) { int c = *t; if (c == '<' || c == '>' || c == '&') { html_raw(txt, t - txt); @@ -136,7 +137,7 @@ void html_ntxt(int len, const char *txt) void html_attr(const char *txt) { const char *t = txt; - while(t && *t){ + while (t && *t) { int c = *t; if (c == '<' || c == '>' || c == '\'' || c == '\"' || c == '&') { html_raw(txt, t - txt); @@ -161,7 +162,7 @@ void html_attr(const char *txt) void html_url_path(const char *txt) { const char *t = txt; - while(t && *t){ + while (t && *t) { unsigned char c = *t; const char *e = url_escape_table[c]; if (e && c != '+' && c != '&') { @@ -178,7 +179,7 @@ void html_url_path(const char *txt) void html_url_arg(const char *txt) { const char *t = txt; - while(t && *t){ + while (t && *t) { unsigned char c = *t; const char *e = url_escape_table[c]; if (c == ' ') @@ -260,13 +261,13 @@ int html_include(const char *filename) filename, strerror(errno), errno); return -1; } - while((len = fread(buf, 1, 4096, f)) > 0) + while ((len = fread(buf, 1, 4096, f)) > 0) html_raw(buf, len); fclose(f); return 0; } -int hextoint(char c) +static int hextoint(char c) { if (c >= 'a' && c <= 'f') return 10 + c - 'a'; @@ -278,7 +279,7 @@ int hextoint(char c) return -1; } -char *convert_query_hexchar(char *txt) +static char *convert_query_hexchar(char *txt) { int d1, d2, n; n = strlen(txt); @@ -310,7 +311,7 @@ int http_parse_querystring(const char *txt_, void (*fn)(const char *name, const printf("Out of memory\n"); exit(1); } - while((c=*t) != '\0') { + while ((c=*t) != '\0') { if (c == '=') { *t = '\0'; value = t + 1;