summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-summary.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/ui-summary.c b/ui-summary.c
index 3d5eda8..05170cc 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -10,23 +10,28 @@
10 10
11static int header; 11static int header;
12 12
13static int cmp_tag_age(void *a, void *b) 13static int cmp_age(int age1, int age2)
14{ 14{
15 struct refinfo *r1 = *(struct refinfo **)a; 15 if (age1 != 0 && age2 != 0)
16 struct refinfo *r2 = *(struct refinfo **)b; 16 return age2 - age1;
17
18 if (r1->tag->tagger_date != 0 && r2->tag->tagger_date != 0)
19 return r2->tag->tagger_date - r1->tag->tagger_date;
20 17
21 if (r1->tag->tagger_date == 0 && r2->tag->tagger_date == 0) 18 if (age1 == 0 && age2 == 0)
22 return 0; 19 return 0;
23 20
24 if (r1 == 0) 21 if (age1 == 0)
25 return +1; 22 return +1;
26 23
27 return -1; 24 return -1;
28} 25}
29 26
27static int cmp_tag_age(const void *a, const void *b)
28{
29 struct refinfo *r1 = *(struct refinfo **)a;
30 struct refinfo *r2 = *(struct refinfo **)b;
31
32 return cmp_age(r1->tag->tagger_date, r2->tag->tagger_date);
33}
34
30static void cgit_print_branch(struct refinfo *ref) 35static void cgit_print_branch(struct refinfo *ref)
31{ 36{
32 struct commit *commit; 37 struct commit *commit;