summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2007-10-27 08:06:03 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-10-27 08:53:27 (UTC)
commitf6310fec783d2721ef61815a0eec525d6a904452 (patch) (side-by-side diff)
tree04882b1a89dcbaaaec17ceca8a5210f92dd6f920
parentfe211c7eef6c7d3e39486d6a7484d3b4debff88f (diff)
downloadcgit-f6310fec783d2721ef61815a0eec525d6a904452.zip
cgit-f6310fec783d2721ef61815a0eec525d6a904452.tar.gz
cgit-f6310fec783d2721ef61815a0eec525d6a904452.tar.bz2
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>
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
@@ -1,45 +1,50 @@
/* ui-summary.c: functions for generating repo summary page
*
* Copyright (C) 2006 Lars Hjemli
*
* Licensed under GNU General Public License v2
* (see COPYING for full license text)
*/
#include "cgit.h"
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;
struct commitinfo *info;
char *name = (char *)ref->refname;
commit = lookup_commit(ref->object->sha1);
// object is not really parsed at this point, because of some fallout
// from previous calls to git functions in cgit_print_log()
commit->object.parsed = 0;
if (commit && !parse_commit(commit)){
info = cgit_parse_commit(commit);
html("<tr><td>");
cgit_log_link(name, NULL, NULL, name, NULL, NULL, 0);
html("</td><td>");
cgit_print_age(commit->date, -1, NULL);