summary refs log tree commit diff
path: root/ui-stats.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2016-02-08 14:35:47 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2016-02-08 14:35:47 +0100
commita8b9ef8c1c68fbb9c89db2d8c12dca38c15e2bfd (patch)
tree98b544c76efa726e4059bf7f3dd1e8d815633def /ui-stats.c
parent85ec9f0211a0c83d6cca744e6e40d73daf4050fc (diff)
ui-stats: if we're going to abuse void*, do it safely
Diffstat (limited to 'ui-stats.c')
-rw-r--r--ui-stats.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/ui-stats.c b/ui-stats.c
index 74ce0f7..a9c13fd 100644
--- a/ui-stats.c
+++ b/ui-stats.c
@@ -3,12 +3,6 @@
 #include "html.h"
 #include "ui-shared.h"
 
-#ifdef NO_C99_FORMAT
-#define SZ_FMT "%u"
-#else
-#define SZ_FMT "%zu"
-#endif
-
 struct authorstat {
 	long total;
 	struct string_list list;
@@ -174,6 +168,7 @@ static void add_commit(struct string_list *authors, struct commit *commit,
 	char *tmp;
 	struct tm *date;
 	time_t t;
+	uintptr_t *counter;
 
 	info = cgit_parse_commit(commit);
 	tmp = xstrdup(info->author);
@@ -191,7 +186,9 @@ static void add_commit(struct string_list *authors, struct commit *commit,
 	item = string_list_insert(items, tmp);
 	if (item->util)
 		free(tmp);
-	item->util++;
+	counter = (uintptr_t *)&item->util;
+	(*counter)++;
+
 	authorstat->total++;
 	cgit_free_commitinfo(info);
 }
@@ -286,7 +283,7 @@ static void print_combined_authorrow(struct string_list *authors, int from,
 			items = &authorstat->list;
 			date = string_list_lookup(items, tmp);
 			if (date)
-				subtotal += (size_t)date->util;
+				subtotal += (uintptr_t)date->util;
 		}
 		htmlf("<td class='%s'>%ld</td>", centerclass, subtotal);
 		total += subtotal;
@@ -340,8 +337,8 @@ static void print_authors(struct string_list *authors, int top,
 			if (!date)
 				html("<td>0</td>");
 			else {
-				htmlf("<td>"SZ_FMT"</td>", (size_t)date->util);
-				total += (size_t)date->util;
+				htmlf("<td>%lu</td>", (uintptr_t)date->util);
+				total += (uintptr_t)date->util;
 			}
 		}
 		htmlf("<td class='sum'>%ld</td></tr>", total);