ui-refs.c: Refactor print_tag()
The code snippets for OBJ_TAG and other object types are almost equivalent. Merge them and use a couple of inline if conditions to select proper fields. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
This commit is contained in:
父節點
caca860ba7
當前提交
4b4a62d507
56
ui-refs.c
56
ui-refs.c
@ -127,47 +127,45 @@ static void print_tag_downloads(const struct cgit_repo *repo, const char *ref)
|
|||||||
if (free_ref)
|
if (free_ref)
|
||||||
free((char *)ref);
|
free((char *)ref);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int print_tag(struct refinfo *ref)
|
static int print_tag(struct refinfo *ref)
|
||||||
{
|
{
|
||||||
struct tag *tag;
|
struct tag *tag = NULL;
|
||||||
struct taginfo *info;
|
struct taginfo *info = NULL;
|
||||||
char *name = (char *)ref->refname;
|
char *name = (char *)ref->refname;
|
||||||
|
struct object *obj = ref->object;
|
||||||
|
|
||||||
if (ref->object->type == OBJ_TAG) {
|
if (obj->type == OBJ_TAG) {
|
||||||
tag = (struct tag *)ref->object;
|
tag = (struct tag *)obj;
|
||||||
|
obj = tag->tagged;
|
||||||
info = ref->tag;
|
info = ref->tag;
|
||||||
if (!tag || !info)
|
if (!tag || !info)
|
||||||
return 1;
|
return 1;
|
||||||
html("<tr><td>");
|
}
|
||||||
cgit_tag_link(name, NULL, NULL, ctx.qry.head, name);
|
|
||||||
html("</td><td>");
|
html("<tr><td>");
|
||||||
if (ctx.repo->snapshots && (tag->tagged->type == OBJ_COMMIT))
|
cgit_tag_link(name, NULL, NULL, ctx.qry.head, name);
|
||||||
print_tag_downloads(ctx.repo, name);
|
html("</td><td>");
|
||||||
else
|
if (ctx.repo->snapshots && (obj->type == OBJ_COMMIT))
|
||||||
cgit_object_link(tag->tagged);
|
print_tag_downloads(ctx.repo, name);
|
||||||
html("</td><td>");
|
else
|
||||||
|
cgit_object_link(obj);
|
||||||
|
html("</td><td>");
|
||||||
|
if (info) {
|
||||||
if (info->tagger)
|
if (info->tagger)
|
||||||
html(info->tagger);
|
html(info->tagger);
|
||||||
html("</td><td colspan='2'>");
|
} else if (ref->object->type == OBJ_COMMIT) {
|
||||||
|
html(ref->commit->author);
|
||||||
|
}
|
||||||
|
html("</td><td colspan='2'>");
|
||||||
|
if (info) {
|
||||||
if (info->tagger_date > 0)
|
if (info->tagger_date > 0)
|
||||||
cgit_print_age(info->tagger_date, -1, NULL);
|
cgit_print_age(info->tagger_date, -1, NULL);
|
||||||
html("</td></tr>\n");
|
} else if (ref->object->type == OBJ_COMMIT) {
|
||||||
} else {
|
cgit_print_age(ref->commit->commit->date, -1, NULL);
|
||||||
html("<tr><td>");
|
|
||||||
cgit_tag_link(name, NULL, NULL, ctx.qry.head, name);
|
|
||||||
html("</td><td>");
|
|
||||||
if (ctx.repo->snapshots && (ref->object->type == OBJ_COMMIT))
|
|
||||||
print_tag_downloads(ctx.repo, name);
|
|
||||||
else
|
|
||||||
cgit_object_link(ref->object);
|
|
||||||
html("</td><td>");
|
|
||||||
if (ref->object->type == OBJ_COMMIT)
|
|
||||||
html(ref->commit->author);
|
|
||||||
html("</td><td colspan='2'>");
|
|
||||||
if (ref->object->type == OBJ_COMMIT)
|
|
||||||
cgit_print_age(ref->commit->commit->date, -1, NULL);
|
|
||||||
html("</td></tr>\n");
|
|
||||||
}
|
}
|
||||||
|
html("</td></tr>\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user