aboutsummaryrefslogtreecommitdiff
path: root/ui-refs.c
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'ui-refs.c')
-rw-r--r--ui-refs.c26
1 files changed, 12 insertions, 14 deletions
diff --git a/ui-refs.c b/ui-refs.c
index caddfbc..94ff6be 100644
--- a/ui-refs.c
+++ b/ui-refs.c
@@ -42,25 +42,23 @@ static int cmp_branch_age(const void *a, const void *b)
return cmp_age(r1->commit->committer_date, r2->commit->committer_date);
}
-static int get_ref_age(struct refinfo *ref)
-{
- if (!ref->object)
- return 0;
- switch (ref->object->type) {
- case OBJ_TAG:
- return ref->tag ? ref->tag->tagger_date : 0;
- case OBJ_COMMIT:
- return ref->commit ? ref->commit->committer_date : 0;
- }
- return 0;
-}
-
static int cmp_tag_age(const void *a, const void *b)
{
struct refinfo *r1 = *(struct refinfo **)a;
struct refinfo *r2 = *(struct refinfo **)b;
+ int r1date, r2date;
+
+ if (r1->object->type != OBJ_COMMIT)
+ r1date = r1->tag->tagger_date;
+ else
+ r1date = r1->commit->committer_date;
+
+ if (r2->object->type != OBJ_COMMIT)
+ r2date = r2->tag->tagger_date;
+ else
+ r2date = r2->commit->committer_date;
- return cmp_age(get_ref_age(r1), get_ref_age(r2));
+ return cmp_age(r1date, r2date);
}
static int print_branch(struct refinfo *ref)