X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/bdae1d8a8d39206ac75ab86f8e9ef53b2f29432e..4b4a62d507adc61e20e75e2748301ef307a6c95f:/html.c diff --git a/html.c b/html.c index 90cc1c0..8c45ba6 100644 --- a/html.c +++ b/html.c @@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#include "cgit.h" +#include "html.h" #include #include #include @@ -39,7 +41,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 +65,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, ...) @@ -266,7 +269,7 @@ int html_include(const char *filename) return 0; } -int hextoint(char c) +static int hextoint(char c) { if (c >= 'a' && c <= 'f') return 10 + c - 'a'; @@ -278,7 +281,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); @@ -305,11 +308,7 @@ int http_parse_querystring(const char *txt_, void (*fn)(const char *name, const if (!txt_) return 0; - o = t = txt = strdup(txt_); - if (t == NULL) { - printf("Out of memory\n"); - exit(1); - } + o = t = txt = xstrdup(txt_); while ((c=*t) != '\0') { if (c == '=') { *t = '\0';