aboutsummaryrefslogtreecommitdiffstats
path: root/ui-stats.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-stats.c')
-rw-r--r--ui-stats.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/ui-stats.c b/ui-stats.c
index bdaf9cc..946a6ea 100644
--- a/ui-stats.c
+++ b/ui-stats.c
@@ -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
10struct authorstat { 16struct 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
292void print_authors(struct string_list *authors, int top, 298void 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) {