From e4ddc8f72b5a7d8c55a6c2042c7b7f945ba4b1a2 Mon Sep 17 00:00:00 2001 From: Mark Lodato Date: Sat, 4 Sep 2010 11:30:18 -0400 Subject: fix errors in printf-style format strings There were many places where the arguments to a printf-like function did not match the format string. Mostly, these were a missing 'l' flag, but there were three exceptions: - In ui-stats.c, a size_t argument must be printed. C99 has the "%zu" flag for this purpose, but not all compilers support this. Therefore, we mimic what git does - use a NO_C99_FORMAT Makefile variable. - In ui-stats.c, cgit_print_error() was called with a pointer instead of a character. - In ui-log.c, the "columns" argument was never used. Signed-off-by: Mark Lodato --- ui-tree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ui-tree.c') diff --git a/ui-tree.c b/ui-tree.c index 75ec9cb..0cdbf6d 100644 --- a/ui-tree.c +++ b/ui-tree.c @@ -67,7 +67,7 @@ static void print_binary_buffer(char *buf, unsigned long size) html("\n"); html(""); for (ofs = 0; ofs < size; ofs += ROWLEN, buf += ROWLEN) { - htmlf("
ofshex dumpascii
%04x", ofs); + htmlf("
%04lx", ofs); for (idx = 0; idx < ROWLEN && ofs + idx < size; idx++) htmlf("%*s%02x", idx == 16 ? 4 : 1, "", @@ -108,7 +108,7 @@ static void print_object(const unsigned char *sha1, char *path, const char *base html(")\n"); if (ctx.cfg.max_blob_size && size / 1024 > ctx.cfg.max_blob_size) { - htmlf("
blob size (%dKB) exceeds display size limit (%dKB).
", + htmlf("
blob size (%ldKB) exceeds display size limit (%dKB).
", size / 1024, ctx.cfg.max_blob_size); return; } -- cgit v1.2.3-70-g09d2 From d187b98557d91b874836f286b955ba76ab26fb02 Mon Sep 17 00:00:00 2001 From: Mark Lodato Date: Sat, 4 Sep 2010 14:18:16 -0400 Subject: prefer html_raw() to write() To make the code more consistent, and to not rely on the implementation of html(), always use html_raw(...) instead of write(htmlfd, ...). Signed-off-by: Mark Lodato --- html.c | 18 +++++++++--------- ui-blob.c | 4 ++-- ui-tree.c | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) (limited to 'ui-tree.c') diff --git a/html.c b/html.c index eaabf72..1305910 100644 --- a/html.c +++ b/html.c @@ -95,7 +95,7 @@ void html_txt(const char *txt) while(t && *t){ int c = *t; if (c=='<' || c=='>' || c=='&') { - write(htmlfd, txt, t - txt); + html_raw(txt, t - txt); if (c=='>') html(">"); else if (c=='<') @@ -116,7 +116,7 @@ void html_ntxt(int len, const char *txt) while(t && *t && len--){ int c = *t; if (c=='<' || c=='>' || c=='&') { - write(htmlfd, txt, t - txt); + html_raw(txt, t - txt); if (c=='>') html(">"); else if (c=='<') @@ -128,7 +128,7 @@ void html_ntxt(int len, const char *txt) t++; } if (t!=txt) - write(htmlfd, txt, t - txt); + html_raw(txt, t - txt); if (len<0) html("..."); } @@ -139,7 +139,7 @@ void html_attr(const char *txt) while(t && *t){ int c = *t; if (c=='<' || c=='>' || c=='\'' || c=='\"') { - write(htmlfd, txt, t - txt); + html_raw(txt, t - txt); if (c=='>') html(">"); else if (c=='<') @@ -163,8 +163,8 @@ void html_url_path(const char *txt) int c = *t; const char *e = url_escape_table[c]; if (e && c!='+' && c!='&' && c!='+') { - write(htmlfd, txt, t - txt); - write(htmlfd, e, 3); + html_raw(txt, t - txt); + html_raw(e, 3); txt = t+1; } t++; @@ -180,8 +180,8 @@ void html_url_arg(const char *txt) int c = *t; const char *e = url_escape_table[c]; if (e) { - write(htmlfd, txt, t - txt); - write(htmlfd, e, 3); + html_raw(txt, t - txt); + html_raw(e, 3); txt = t+1; } t++; @@ -249,7 +249,7 @@ int html_include(const char *filename) return -1; } while((len = fread(buf, 1, 4096, f)) > 0) - write(htmlfd, buf, len); + html_raw(buf, len); fclose(f); return 0; } diff --git a/ui-blob.c b/ui-blob.c index 667a451..ec435e1 100644 --- a/ui-blob.c +++ b/ui-blob.c @@ -52,7 +52,7 @@ int cgit_print_file(char *path, const char *head) if (!buf) return -1; buf[size] = '\0'; - write(htmlfd, buf, size); + html_raw(buf, size); return 0; } @@ -108,5 +108,5 @@ void cgit_print_blob(const char *hex, char *path, const char *head) } ctx.page.filename = path; cgit_print_http_headers(&ctx); - write(htmlfd, buf, size); + html_raw(buf, size); } diff --git a/ui-tree.c b/ui-tree.c index 0cdbf6d..0b1b531 100644 --- a/ui-tree.c +++ b/ui-tree.c @@ -46,7 +46,7 @@ static void print_text_buffer(const char *name, char *buf, unsigned long size) html("
");
 		ctx.repo->source_filter->argv[1] = xstrdup(name);
 		cgit_open_filter(ctx.repo->source_filter);
-		write(STDOUT_FILENO, buf, size);
+		html_raw(buf, size);
 		cgit_close_filter(ctx.repo->source_filter);
 		html("
\n"); return; -- cgit v1.2.3-70-g09d2