#include "cgit.h"
+#include "ui-stats.h"
#include "html.h"
#include "ui-shared.h"
-#include "ui-stats.h"
#ifdef NO_C99_FORMAT
#define SZ_FMT "%u"
#define SZ_FMT "%zu"
#endif
-#define MONTHS 6
-
struct authorstat {
long total;
struct string_list list;
{
time_t t = timegm(tm);
t -= ((tm->tm_wday + 6) % 7) * DAY_SECS;
- gmtime_r(&t, tm);
+ gmtime_r(&t, tm);
}
static void dec_week(struct tm *tm)
{
time_t t = timegm(tm);
t -= WEEK_SECS;
- gmtime_r(&t, tm);
+ gmtime_r(&t, tm);
}
static void inc_week(struct tm *tm)
{
time_t t = timegm(tm);
t += WEEK_SECS;
- gmtime_r(&t, tm);
+ gmtime_r(&t, tm);
}
static char *pretty_week(struct tm *tm)
static void trunc_quarter(struct tm *tm)
{
trunc_month(tm);
- while(tm->tm_mon % 3 != 0)
+ while (tm->tm_mon % 3 != 0)
dec_month(tm);
}
if (periods[i].code == code || !strcmp(periods[i].name, expr)) {
if (period)
*period = &periods[i];
- return i+1;
+ return i + 1;
}
return 0;
}
/* Walk the commit DAG and collect number of commits per author per
* timeperiod into a nested string_list collection.
*/
-struct string_list collect_stats(struct cgit_context *ctx,
- struct cgit_period *period)
+static struct string_list collect_stats(struct cgit_context *ctx,
+ struct cgit_period *period)
{
struct string_list authors;
struct rev_info rev;
init_revisions(&rev, NULL);
rev.abbrev = DEFAULT_ABBREV;
rev.commit_format = CMIT_FMT_DEFAULT;
- rev.no_merges = 1;
+ rev.max_parents = 1;
rev.verbose_header = 1;
rev.show_root_diff = 0;
setup_revisions(argc, argv, &rev, NULL);
return authors;
}
-void print_combined_authorrow(struct string_list *authors, int from, int to,
- const char *name, const char *leftclass, const char *centerclass,
- const char *rightclass, struct cgit_period *period)
+static void print_combined_authorrow(struct string_list *authors, int from,
+ int to, const char *name,
+ const char *leftclass,
+ const char *centerclass,
+ const char *rightclass,
+ struct cgit_period *period)
{
struct string_list_item *author;
struct authorstat *authorstat;
htmlf("<td class='%s'>%ld</td></tr>", rightclass, total);
}
-void print_authors(struct string_list *authors, int top,
- struct cgit_period *period)
+static void print_authors(struct string_list *authors, int top,
+ struct cgit_period *period)
{
struct string_list_item *author;
struct authorstat *authorstat;
i = cgit_find_stats_period(code, &period);
if (!i) {
- cgit_print_error(fmt("Unknown statistics type: %c", code[0]));
+ cgit_print_error("Unknown statistics type: %c", code[0]);
return;
}
if (i > ctx->repo->max_stats) {
- cgit_print_error(fmt("Statistics type disabled: %s",
- period->name));
+ cgit_print_error("Statistics type disabled: %s", period->name);
return;
}
authors = collect_stats(ctx, period);