summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show 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,61 +1,66 @@
/* 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);
html("</td><td>");
html_txt(info->author);
html("</td><td>");
cgit_commit_link(info->subject, NULL, NULL, name, NULL);
html("</td></tr>\n");
cgit_free_commitinfo(info);
} else {
html("<tr><td>");
html_txt(name);
html("</td><td colspan='3'>");
htmlf("*** bad ref %s ***", sha1_to_hex(ref->object->sha1));
html("</td></tr>\n");
}
}
static void print_tag_header()