author | Mark Lodato <lodatom@gmail.com> | 2010-09-04 15:30:18 (UTC) |
---|---|---|
committer | Mark Lodato <lodatom@gmail.com> | 2010-09-04 15:35:38 (UTC) |
commit | e4ddc8f72b5a7d8c55a6c2042c7b7f945ba4b1a2 (patch) (side-by-side diff) | |
tree | 2ade0bb45e15ad5466ca4d3433201477f0c9214e /ui-stats.c | |
parent | a4c58d92bfee0cf2e35ab1c5e828a6d790108a69 (diff) | |
download | cgit-e4ddc8f72b5a7d8c55a6c2042c7b7f945ba4b1a2.zip cgit-e4ddc8f72b5a7d8c55a6c2042c7b7f945ba4b1a2.tar.gz cgit-e4ddc8f72b5a7d8c55a6c2042c7b7f945ba4b1a2.tar.bz2 |
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 <lodatom@gmail.com>
-rw-r--r-- | ui-stats.c | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -1,15 +1,21 @@ #include <string-list.h> #include "cgit.h" #include "html.h" #include "ui-shared.h" #include "ui-stats.h" +#ifdef NO_C99_FORMAT +#define SZ_FMT "%u" +#else +#define SZ_FMT "%zu" +#endif + #define MONTHS 6 struct authorstat { long total; struct string_list list; }; #define DAY_SECS (60 * 60 * 24) @@ -278,20 +284,20 @@ void print_combined_authorrow(struct string_list *authors, int from, int to, for (i = from; i <= to; i++) { author = &authors->items[i]; authorstat = author->util; items = &authorstat->list; date = string_list_lookup(items, tmp); if (date) subtotal += (size_t)date->util; } - htmlf("<td class='%s'>%d</td>", centerclass, subtotal); + htmlf("<td class='%s'>%ld</td>", centerclass, subtotal); total += subtotal; } - htmlf("<td class='%s'>%d</td></tr>", rightclass, total); + htmlf("<td class='%s'>%ld</td></tr>", rightclass, total); } void print_authors(struct string_list *authors, int top, struct cgit_period *period) { struct string_list_item *author; struct authorstat *authorstat; struct string_list *items; @@ -330,26 +336,26 @@ void print_authors(struct string_list *authors, int top, period->dec(tm); for (j = 0; j < period->count; j++) { tmp = period->pretty(tm); period->inc(tm); date = string_list_lookup(items, tmp); if (!date) html("<td>0</td>"); else { - htmlf("<td>%d</td>", date->util); + htmlf("<td>"SZ_FMT"</td>", (size_t)date->util); total += (size_t)date->util; } } - htmlf("<td class='sum'>%d</td></tr>", total); + htmlf("<td class='sum'>%ld</td></tr>", total); } if (top < authors->nr) print_combined_authorrow(authors, top, authors->nr - 1, - "Others (%d)", "left", "", "sum", period); + "Others (%ld)", "left", "", "sum", period); print_combined_authorrow(authors, 0, authors->nr - 1, "Total", "total", "sum", "sum", period); html("</table>"); } /* Create a sorted string_list with one entry per author. The util-field * for each author is another string_list which is used to calculate the @@ -362,17 +368,17 @@ void cgit_show_stats(struct cgit_context *ctx) int top, i; const char *code = "w"; if (ctx->qry.period) code = ctx->qry.period; i = cgit_find_stats_period(code, &period); if (!i) { - cgit_print_error(fmt("Unknown statistics type: %c", code)); + cgit_print_error(fmt("Unknown statistics type: %c", code[0])); return; } if (i > ctx->repo->max_stats) { cgit_print_error(fmt("Statistics type disabled: %s", period->name)); return; } authors = collect_stats(ctx, period); |