summaryrefslogtreecommitdiffabout
path: root/ui-stats.c
Unidiff
Diffstat (limited to 'ui-stats.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-stats.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ui-stats.c b/ui-stats.c
index 9fc06d3..bdaf9cc 100644
--- a/ui-stats.c
+++ b/ui-stats.c
@@ -141,32 +141,40 @@ int cgit_find_stats_period(const char *expr, struct cgit_period **period)
141 141
142 if (!expr) 142 if (!expr)
143 return 0; 143 return 0;
144 144
145 if (strlen(expr) == 1) 145 if (strlen(expr) == 1)
146 code = expr[0]; 146 code = expr[0];
147 147
148 for (i = 0; i < sizeof(periods) / sizeof(periods[0]); i++) 148 for (i = 0; i < sizeof(periods) / sizeof(periods[0]); i++)
149 if (periods[i].code == code || !strcmp(periods[i].name, expr)) { 149 if (periods[i].code == code || !strcmp(periods[i].name, expr)) {
150 if (period) 150 if (period)
151 *period = &periods[i]; 151 *period = &periods[i];
152 return i+1; 152 return i+1;
153 } 153 }
154 return 0; 154 return 0;
155} 155}
156 156
157const char *cgit_find_stats_periodname(int idx)
158{
159 if (idx > 0 && idx < 4)
160 return periods[idx - 1].name;
161 else
162 return "";
163}
164
157static void add_commit(struct string_list *authors, struct commit *commit, 165static void add_commit(struct string_list *authors, struct commit *commit,
158 struct cgit_period *period) 166 struct cgit_period *period)
159{ 167{
160 struct commitinfo *info; 168 struct commitinfo *info;
161 struct string_list_item *author, *item; 169 struct string_list_item *author, *item;
162 struct authorstat *authorstat; 170 struct authorstat *authorstat;
163 struct string_list *items; 171 struct string_list *items;
164 char *tmp; 172 char *tmp;
165 struct tm *date; 173 struct tm *date;
166 time_t t; 174 time_t t;
167 175
168 info = cgit_parse_commit(commit); 176 info = cgit_parse_commit(commit);
169 tmp = xstrdup(info->author); 177 tmp = xstrdup(info->author);
170 author = string_list_insert(tmp, authors); 178 author = string_list_insert(tmp, authors);
171 if (!author->util) 179 if (!author->util)
172 author->util = xcalloc(1, sizeof(struct authorstat)); 180 author->util = xcalloc(1, sizeof(struct authorstat));