-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | cache.h | 1 | ||||
-rw-r--r-- | cgit.c | 2 | ||||
-rw-r--r-- | cgit.h | 1 | ||||
-rw-r--r-- | html.c | 18 | ||||
-rw-r--r-- | html.h | 3 | ||||
-rw-r--r-- | ui-blob.c | 4 | ||||
-rw-r--r-- | ui-diff.c | 2 | ||||
-rw-r--r-- | ui-log.c | 3 | ||||
-rw-r--r-- | ui-repolist.c | 6 | ||||
-rw-r--r-- | ui-stats.c | 18 | ||||
-rw-r--r-- | ui-tree.c | 6 |
12 files changed, 42 insertions, 30 deletions
@@ -18,2 +18,7 @@ INSTALL = install | |||
18 | # | 18 | # |
19 | # Define NO_C99_FORMAT if your formatted IO functions (printf/scanf et.al.) | ||
20 | # do not support the 'size specifiers' introduced by C99, namely ll, hh, | ||
21 | # j, z, t. (representing long long int, char, intmax_t, size_t, ptrdiff_t). | ||
22 | # some C compilers supported these specifiers prior to C99 as an extension. | ||
23 | # | ||
19 | 24 | ||
@@ -129,2 +134,5 @@ ifdef NO_STRCASESTR | |||
129 | endif | 134 | endif |
135 | ifdef NO_C99_FORMAT | ||
136 | CFLAGS += -DNO_C99_FORMAT | ||
137 | endif | ||
130 | ifdef NO_OPENSSL | 138 | ifdef NO_OPENSSL |
@@ -32,2 +32,3 @@ extern int cache_ls(const char *path); | |||
32 | /* Print a message to stdout */ | 32 | /* Print a message to stdout */ |
33 | __attribute__((format (printf,1,2))) | ||
33 | extern void cache_log(const char *format, ...); | 34 | extern void cache_log(const char *format, ...); |
@@ -612,3 +612,3 @@ static void process_cached_repolist(const char *path) | |||
612 | hash += hash_str(ctx.cfg.project_list); | 612 | hash += hash_str(ctx.cfg.project_list); |
613 | cached_rc = xstrdup(fmt("%s/rc-%8x", ctx.cfg.cache_root, hash)); | 613 | cached_rc = xstrdup(fmt("%s/rc-%8lx", ctx.cfg.cache_root, hash)); |
614 | 614 | ||
@@ -297,2 +297,3 @@ extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); | |||
297 | 297 | ||
298 | __attribute__((format (printf,1,2))) | ||
298 | extern char *fmt(const char *format,...); | 299 | extern char *fmt(const char *format,...); |
@@ -97,3 +97,3 @@ void html_txt(const char *txt) | |||
97 | if (c=='<' || c=='>' || c=='&') { | 97 | if (c=='<' || c=='>' || c=='&') { |
98 | write(htmlfd, txt, t - txt); | 98 | html_raw(txt, t - txt); |
99 | if (c=='>') | 99 | if (c=='>') |
@@ -118,3 +118,3 @@ void html_ntxt(int len, const char *txt) | |||
118 | if (c=='<' || c=='>' || c=='&') { | 118 | if (c=='<' || c=='>' || c=='&') { |
119 | write(htmlfd, txt, t - txt); | 119 | html_raw(txt, t - txt); |
120 | if (c=='>') | 120 | if (c=='>') |
@@ -130,3 +130,3 @@ void html_ntxt(int len, const char *txt) | |||
130 | if (t!=txt) | 130 | if (t!=txt) |
131 | write(htmlfd, txt, t - txt); | 131 | html_raw(txt, t - txt); |
132 | if (len<0) | 132 | if (len<0) |
@@ -141,3 +141,3 @@ void html_attr(const char *txt) | |||
141 | if (c=='<' || c=='>' || c=='\'' || c=='\"') { | 141 | if (c=='<' || c=='>' || c=='\'' || c=='\"') { |
142 | write(htmlfd, txt, t - txt); | 142 | html_raw(txt, t - txt); |
143 | if (c=='>') | 143 | if (c=='>') |
@@ -165,4 +165,4 @@ void html_url_path(const char *txt) | |||
165 | if (e && c!='+' && c!='&' && c!='+') { | 165 | if (e && c!='+' && c!='&' && c!='+') { |
166 | write(htmlfd, txt, t - txt); | 166 | html_raw(txt, t - txt); |
167 | write(htmlfd, e, 3); | 167 | html_raw(e, 3); |
168 | txt = t+1; | 168 | txt = t+1; |
@@ -182,4 +182,4 @@ void html_url_arg(const char *txt) | |||
182 | if (e) { | 182 | if (e) { |
183 | write(htmlfd, txt, t - txt); | 183 | html_raw(txt, t - txt); |
184 | write(htmlfd, e, 3); | 184 | html_raw(e, 3); |
185 | txt = t+1; | 185 | txt = t+1; |
@@ -251,3 +251,3 @@ int html_include(const char *filename) | |||
251 | while((len = fread(buf, 1, 4096, f)) > 0) | 251 | while((len = fread(buf, 1, 4096, f)) > 0) |
252 | write(htmlfd, buf, len); | 252 | html_raw(buf, len); |
253 | fclose(f); | 253 | fclose(f); |
@@ -7,3 +7,6 @@ extern void html_raw(const char *txt, size_t size); | |||
7 | extern void html(const char *txt); | 7 | extern void html(const char *txt); |
8 | |||
9 | __attribute__((format (printf,1,2))) | ||
8 | extern void htmlf(const char *format,...); | 10 | extern void htmlf(const char *format,...); |
11 | |||
9 | extern void html_status(int code, const char *msg, int more_headers); | 12 | extern void html_status(int code, const char *msg, int more_headers); |
@@ -54,3 +54,3 @@ int cgit_print_file(char *path, const char *head) | |||
54 | buf[size] = '\0'; | 54 | buf[size] = '\0'; |
55 | write(htmlfd, buf, size); | 55 | html_raw(buf, size); |
56 | return 0; | 56 | return 0; |
@@ -110,3 +110,3 @@ void cgit_print_blob(const char *hex, char *path, const char *head) | |||
110 | cgit_print_http_headers(&ctx); | 110 | cgit_print_http_headers(&ctx); |
111 | write(htmlfd, buf, size); | 111 | html_raw(buf, size); |
112 | } | 112 | } |
@@ -94,3 +94,3 @@ static void print_fileinfo(struct fileinfo *info) | |||
94 | if (info->binary) { | 94 | if (info->binary) { |
95 | htmlf("bin</td><td class='graph'>%d -> %d bytes", | 95 | htmlf("bin</td><td class='graph'>%ld -> %ld bytes", |
96 | info->old_size, info->new_size); | 96 | info->old_size, info->new_size); |
@@ -230,4 +230,3 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern | |||
230 | if (pager) { | 230 | if (pager) { |
231 | htmlf("</table><div class='pager'>", | 231 | html("</table><div class='pager'>"); |
232 | columns); | ||
233 | if (ofs > 0) { | 232 | if (ofs > 0) { |
diff --git a/ui-repolist.c b/ui-repolist.c index 0a0b6ca..2c98668 100644 --- a/ui-repolist.c +++ b/ui-repolist.c | |||
@@ -8,8 +8,2 @@ | |||
8 | 8 | ||
9 | /* This is needed for strcasestr to be defined by <string.h> */ | ||
10 | #define _GNU_SOURCE 1 | ||
11 | #include <string.h> | ||
12 | |||
13 | #include <time.h> | ||
14 | |||
15 | #include "cgit.h" | 9 | #include "cgit.h" |
@@ -7,2 +7,8 @@ | |||
7 | 7 | ||
8 | #ifdef NO_C99_FORMAT | ||
9 | #define SZ_FMT "%u" | ||
10 | #else | ||
11 | #define SZ_FMT "%zu" | ||
12 | #endif | ||
13 | |||
8 | #define MONTHS 6 | 14 | #define MONTHS 6 |
@@ -285,6 +291,6 @@ void print_combined_authorrow(struct string_list *authors, int from, int to, | |||
285 | } | 291 | } |
286 | htmlf("<td class='%s'>%d</td>", centerclass, subtotal); | 292 | htmlf("<td class='%s'>%ld</td>", centerclass, subtotal); |
287 | total += subtotal; | 293 | total += subtotal; |
288 | } | 294 | } |
289 | htmlf("<td class='%s'>%d</td></tr>", rightclass, total); | 295 | htmlf("<td class='%s'>%ld</td></tr>", rightclass, total); |
290 | } | 296 | } |
@@ -337,3 +343,3 @@ void print_authors(struct string_list *authors, int top, | |||
337 | else { | 343 | else { |
338 | htmlf("<td>%d</td>", date->util); | 344 | htmlf("<td>"SZ_FMT"</td>", (size_t)date->util); |
339 | total += (size_t)date->util; | 345 | total += (size_t)date->util; |
@@ -341,3 +347,3 @@ void print_authors(struct string_list *authors, int top, | |||
341 | } | 347 | } |
342 | htmlf("<td class='sum'>%d</td></tr>", total); | 348 | htmlf("<td class='sum'>%ld</td></tr>", total); |
343 | } | 349 | } |
@@ -346,3 +352,3 @@ void print_authors(struct string_list *authors, int top, | |||
346 | print_combined_authorrow(authors, top, authors->nr - 1, | 352 | print_combined_authorrow(authors, top, authors->nr - 1, |
347 | "Others (%d)", "left", "", "sum", period); | 353 | "Others (%ld)", "left", "", "sum", period); |
348 | 354 | ||
@@ -369,3 +375,3 @@ void cgit_show_stats(struct cgit_context *ctx) | |||
369 | if (!i) { | 375 | if (!i) { |
370 | cgit_print_error(fmt("Unknown statistics type: %c", code)); | 376 | cgit_print_error(fmt("Unknown statistics type: %c", code[0])); |
371 | return; | 377 | return; |
@@ -48,3 +48,3 @@ static void print_text_buffer(const char *name, char *buf, unsigned long size) | |||
48 | cgit_open_filter(ctx.repo->source_filter); | 48 | cgit_open_filter(ctx.repo->source_filter); |
49 | write(STDOUT_FILENO, buf, size); | 49 | html_raw(buf, size); |
50 | cgit_close_filter(ctx.repo->source_filter); | 50 | cgit_close_filter(ctx.repo->source_filter); |
@@ -69,3 +69,3 @@ static void print_binary_buffer(char *buf, unsigned long size) | |||
69 | for (ofs = 0; ofs < size; ofs += ROWLEN, buf += ROWLEN) { | 69 | for (ofs = 0; ofs < size; ofs += ROWLEN, buf += ROWLEN) { |
70 | htmlf("<tr><td class='right'>%04x</td><td class='hex'>", ofs); | 70 | htmlf("<tr><td class='right'>%04lx</td><td class='hex'>", ofs); |
71 | for (idx = 0; idx < ROWLEN && ofs + idx < size; idx++) | 71 | for (idx = 0; idx < ROWLEN && ofs + idx < size; idx++) |
@@ -110,3 +110,3 @@ static void print_object(const unsigned char *sha1, char *path, const char *base | |||
110 | if (ctx.cfg.max_blob_size && size / 1024 > ctx.cfg.max_blob_size) { | 110 | if (ctx.cfg.max_blob_size && size / 1024 > ctx.cfg.max_blob_size) { |
111 | htmlf("<div class='error'>blob size (%dKB) exceeds display size limit (%dKB).</div>", | 111 | htmlf("<div class='error'>blob size (%ldKB) exceeds display size limit (%dKB).</div>", |
112 | size / 1024, ctx.cfg.max_blob_size); | 112 | size / 1024, ctx.cfg.max_blob_size); |