summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-10-27 10:06:03 +0200
committerLars Hjemli <hjemli@gmail.com>2007-10-27 10:53:27 +0200
commitf6310fec783d2721ef61815a0eec525d6a904452 (patch)
tree04882b1a89dcbaaaec17ceca8a5210f92dd6f920
parentfe211c7eef6c7d3e39486d6a7484d3b4debff88f (diff)
Move logic for age comparision from cmp_tag_age into cmp_age()
Simple refactoring to enable later filtering of branches based on age.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-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 @@
 
 static int header;
 
-static int cmp_tag_age(void *a, void *b)
+static int cmp_age(int age1, int age2)
 {
-	struct refinfo *r1 = *(struct refinfo **)a;
-	struct refinfo *r2 = *(struct refinfo **)b;
-
-	if (r1->tag->tagger_date != 0 && r2->tag->tagger_date != 0)
-		return r2->tag->tagger_date - r1->tag->tagger_date;
+	if (age1 != 0 && age2 != 0)
+		return age2 - age1;
 
-	if (r1->tag->tagger_date == 0 && r2->tag->tagger_date == 0)
+	if (age1 == 0 && age2 == 0)
 		return 0;
 
-	if (r1 == 0)
+	if (age1 == 0)
 		return +1;
 
 	return -1;
 }
 
+static int cmp_tag_age(const void *a, const void *b)
+{
+	struct refinfo *r1 = *(struct refinfo **)a;
+	struct refinfo *r2 = *(struct refinfo **)b;
+
+	return cmp_age(r1->tag->tagger_date, r2->tag->tagger_date);
+}
+
 static void cgit_print_branch(struct refinfo *ref)
 {
 	struct commit *commit;