diff options
Diffstat (limited to 'ui-stats.c')
-rw-r--r-- | ui-stats.c | 26 |
1 files changed, 16 insertions, 10 deletions
@@ -5,6 +5,12 @@ | |||
5 | #include "ui-shared.h" | 5 | #include "ui-shared.h" |
6 | #include "ui-stats.h" | 6 | #include "ui-stats.h" |
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 |
9 | 15 | ||
10 | struct authorstat { | 16 | struct authorstat { |
@@ -175,7 +181,7 @@ static void add_commit(struct string_list *authors, struct commit *commit, | |||
175 | 181 | ||
176 | info = cgit_parse_commit(commit); | 182 | info = cgit_parse_commit(commit); |
177 | tmp = xstrdup(info->author); | 183 | tmp = xstrdup(info->author); |
178 | author = string_list_insert(tmp, authors); | 184 | author = string_list_insert(authors, tmp); |
179 | if (!author->util) | 185 | if (!author->util) |
180 | author->util = xcalloc(1, sizeof(struct authorstat)); | 186 | author->util = xcalloc(1, sizeof(struct authorstat)); |
181 | else | 187 | else |
@@ -186,7 +192,7 @@ static void add_commit(struct string_list *authors, struct commit *commit, | |||
186 | date = gmtime(&t); | 192 | date = gmtime(&t); |
187 | period->trunc(date); | 193 | period->trunc(date); |
188 | tmp = xstrdup(period->pretty(date)); | 194 | tmp = xstrdup(period->pretty(date)); |
189 | item = string_list_insert(tmp, items); | 195 | item = string_list_insert(items, tmp); |
190 | if (item->util) | 196 | if (item->util) |
191 | free(tmp); | 197 | free(tmp); |
192 | item->util++; | 198 | item->util++; |
@@ -279,14 +285,14 @@ void print_combined_authorrow(struct string_list *authors, int from, int to, | |||
279 | author = &authors->items[i]; | 285 | author = &authors->items[i]; |
280 | authorstat = author->util; | 286 | authorstat = author->util; |
281 | items = &authorstat->list; | 287 | items = &authorstat->list; |
282 | date = string_list_lookup(tmp, items); | 288 | date = string_list_lookup(items, tmp); |
283 | if (date) | 289 | if (date) |
284 | subtotal += (size_t)date->util; | 290 | subtotal += (size_t)date->util; |
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 | } |
291 | 297 | ||
292 | void print_authors(struct string_list *authors, int top, | 298 | void print_authors(struct string_list *authors, int top, |
@@ -331,20 +337,20 @@ void print_authors(struct string_list *authors, int top, | |||
331 | for (j = 0; j < period->count; j++) { | 337 | for (j = 0; j < period->count; j++) { |
332 | tmp = period->pretty(tm); | 338 | tmp = period->pretty(tm); |
333 | period->inc(tm); | 339 | period->inc(tm); |
334 | date = string_list_lookup(tmp, items); | 340 | date = string_list_lookup(items, tmp); |
335 | if (!date) | 341 | if (!date) |
336 | html("<td>0</td>"); | 342 | html("<td>0</td>"); |
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; |
340 | } | 346 | } |
341 | } | 347 | } |
342 | htmlf("<td class='sum'>%d</td></tr>", total); | 348 | htmlf("<td class='sum'>%ld</td></tr>", total); |
343 | } | 349 | } |
344 | 350 | ||
345 | if (top < authors->nr) | 351 | if (top < authors->nr) |
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 | ||
349 | print_combined_authorrow(authors, 0, authors->nr - 1, "Total", | 355 | print_combined_authorrow(authors, 0, authors->nr - 1, "Total", |
350 | "total", "sum", "sum", period); | 356 | "total", "sum", "sum", period); |
@@ -367,7 +373,7 @@ void cgit_show_stats(struct cgit_context *ctx) | |||
367 | 373 | ||
368 | i = cgit_find_stats_period(code, &period); | 374 | i = cgit_find_stats_period(code, &period); |
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; |
372 | } | 378 | } |
373 | if (i > ctx->repo->max_stats) { | 379 | if (i > ctx->repo->max_stats) { |