diff options
| author | 2014-01-16 05:53:15 (JST) | |
|---|---|---|
| committer | 2014-01-17 08:44:54 (JST) | |
| commit | f60ffa143cca61e9729ac71033e1a556cf422871 (patch) | |
| tree | ff9122fef2779ddea8e37806cc66dc67b63df99f /ui-stats.c | |
| parent | a431326e8fab8153905fbde036dd3c9fb4cc8eaa (diff) | |
| download | cgit-f60ffa143cca61e9729ac71033e1a556cf422871.zip cgit-f60ffa143cca61e9729ac71033e1a556cf422871.tar.gz | |
Switch to exclusively using global ctx
Drop the context parameter from the following functions (and all static
helpers used by them) and use the global context instead:
* cgit_print_http_headers()
* cgit_print_docstart()
* cgit_print_pageheader()
Remove context parameter from all commands
Drop the context parameter from the following functions (and all static
helpers used by them) and use the global context instead:
* cgit_get_cmd()
* All cgit command functions.
* cgit_clone_info()
* cgit_clone_objects()
* cgit_clone_head()
* cgit_print_plain()
* cgit_show_stats()
In initialization routines, use the global context variable instead of
passing a pointer around locally.
Remove callback data parameter for cache slots
This is no longer needed since the context is always read from the
global context variable.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Diffstat (limited to 'ui-stats.c')
| -rw-r--r-- | ui-stats.c | 29 |
1 files changed, 14 insertions, 15 deletions
| @@ -209,13 +209,12 @@ static int cmp_total_commits(const void *a1, const void *a2) | |||
| 209 | /* Walk the commit DAG and collect number of commits per author per | 209 | /* Walk the commit DAG and collect number of commits per author per |
| 210 | * timeperiod into a nested string_list collection. | 210 | * timeperiod into a nested string_list collection. |
| 211 | */ | 211 | */ |
| 212 | static struct string_list collect_stats(struct cgit_context *ctx, | 212 | static struct string_list collect_stats(struct cgit_period *period) |
| 213 | struct cgit_period *period) | ||
| 214 | { | 213 | { |
| 215 | struct string_list authors; | 214 | struct string_list authors; |
| 216 | struct rev_info rev; | 215 | struct rev_info rev; |
| 217 | struct commit *commit; | 216 | struct commit *commit; |
| 218 | const char *argv[] = {NULL, ctx->qry.head, NULL, NULL, NULL, NULL}; | 217 | const char *argv[] = {NULL, ctx.qry.head, NULL, NULL, NULL, NULL}; |
| 219 | int argc = 3; | 218 | int argc = 3; |
| 220 | time_t now; | 219 | time_t now; |
| 221 | long i; | 220 | long i; |
| @@ -229,9 +228,9 @@ static struct string_list collect_stats(struct cgit_context *ctx, | |||
| 229 | period->dec(tm); | 228 | period->dec(tm); |
| 230 | strftime(tmp, sizeof(tmp), "%Y-%m-%d", tm); | 229 | strftime(tmp, sizeof(tmp), "%Y-%m-%d", tm); |
| 231 | argv[2] = xstrdup(fmt("--since=%s", tmp)); | 230 | argv[2] = xstrdup(fmt("--since=%s", tmp)); |
| 232 | if (ctx->qry.path) { | 231 | if (ctx.qry.path) { |
| 233 | argv[3] = "--"; | 232 | argv[3] = "--"; |
| 234 | argv[4] = ctx->qry.path; | 233 | argv[4] = ctx.qry.path; |
| 235 | argc += 2; | 234 | argc += 2; |
| 236 | } | 235 | } |
| 237 | init_revisions(&rev, NULL); | 236 | init_revisions(&rev, NULL); |
| @@ -360,30 +359,30 @@ static void print_authors(struct string_list *authors, int top, | |||
| 360 | * for each author is another string_list which is used to calculate the | 359 | * for each author is another string_list which is used to calculate the |
| 361 | * number of commits per time-interval. | 360 | * number of commits per time-interval. |
| 362 | */ | 361 | */ |
| 363 | void cgit_show_stats(struct cgit_context *ctx) | 362 | void cgit_show_stats(void) |
| 364 | { | 363 | { |
| 365 | struct string_list authors; | 364 | struct string_list authors; |
| 366 | struct cgit_period *period; | 365 | struct cgit_period *period; |
| 367 | int top, i; | 366 | int top, i; |
| 368 | const char *code = "w"; | 367 | const char *code = "w"; |
| 369 | 368 | ||
| 370 | if (ctx->qry.period) | 369 | if (ctx.qry.period) |
| 371 | code = ctx->qry.period; | 370 | code = ctx.qry.period; |
| 372 | 371 | ||
| 373 | i = cgit_find_stats_period(code, &period); | 372 | i = cgit_find_stats_period(code, &period); |
| 374 | if (!i) { | 373 | if (!i) { |
| 375 | cgit_print_error("Unknown statistics type: %c", code[0]); | 374 | cgit_print_error("Unknown statistics type: %c", code[0]); |
| 376 | return; | 375 | return; |
| 377 | } | 376 | } |
| 378 | if (i > ctx->repo->max_stats) { | 377 | if (i > ctx.repo->max_stats) { |
| 379 | cgit_print_error("Statistics type disabled: %s", period->name); | 378 | cgit_print_error("Statistics type disabled: %s", period->name); |
| 380 | return; | 379 | return; |
| 381 | } | 380 | } |
| 382 | authors = collect_stats(ctx, period); | 381 | authors = collect_stats(period); |
| 383 | qsort(authors.items, authors.nr, sizeof(struct string_list_item), | 382 | qsort(authors.items, authors.nr, sizeof(struct string_list_item), |
| 384 | cmp_total_commits); | 383 | cmp_total_commits); |
| 385 | 384 | ||
| 386 | top = ctx->qry.ofs; | 385 | top = ctx.qry.ofs; |
| 387 | if (!top) | 386 | if (!top) |
| 388 | top = 10; | 387 | top = 10; |
| 389 | 388 | ||
| @@ -392,10 +391,10 @@ void cgit_show_stats(struct cgit_context *ctx) | |||
| 392 | html("<form method='get' action=''>"); | 391 | html("<form method='get' action=''>"); |
| 393 | cgit_add_hidden_formfields(1, 0, "stats"); | 392 | cgit_add_hidden_formfields(1, 0, "stats"); |
| 394 | html("<table><tr><td colspan='2'/></tr>"); | 393 | html("<table><tr><td colspan='2'/></tr>"); |
| 395 | if (ctx->repo->max_stats > 1) { | 394 | if (ctx.repo->max_stats > 1) { |
| 396 | html("<tr><td class='label'>Period:</td>"); | 395 | html("<tr><td class='label'>Period:</td>"); |
| 397 | html("<td class='ctrl'><select name='period' onchange='this.form.submit();'>"); | 396 | html("<td class='ctrl'><select name='period' onchange='this.form.submit();'>"); |
| 398 | for (i = 0; i < ctx->repo->max_stats; i++) | 397 | for (i = 0; i < ctx.repo->max_stats; i++) |
| 399 | html_option(fmt("%c", periods[i].code), | 398 | html_option(fmt("%c", periods[i].code), |
| 400 | periods[i].name, fmt("%c", period->code)); | 399 | periods[i].name, fmt("%c", period->code)); |
| 401 | html("</select></td></tr>"); | 400 | html("</select></td></tr>"); |
| @@ -414,9 +413,9 @@ void cgit_show_stats(struct cgit_context *ctx) | |||
| 414 | html("</form>"); | 413 | html("</form>"); |
| 415 | html("</div>"); | 414 | html("</div>"); |
| 416 | htmlf("<h2>Commits per author per %s", period->name); | 415 | htmlf("<h2>Commits per author per %s", period->name); |
| 417 | if (ctx->qry.path) { | 416 | if (ctx.qry.path) { |
| 418 | html(" (path '"); | 417 | html(" (path '"); |
| 419 | html_txt(ctx->qry.path); | 418 | html_txt(ctx.qry.path); |
| 420 | html("')"); | 419 | html("')"); |
| 421 | } | 420 | } |
| 422 | html("</h2>"); | 421 | html("</h2>"); |
