tag: move layout into page function
This also allows us to return proper HTTP error codes when something goes wrong. Signed-off-by: John Keeping <john@keeping.me.uk>
このコミットが含まれているのは:
コミット
696a33b66f
2
cmd.c
2
cmd.c
@ -171,7 +171,7 @@ struct cgit_cmd *cgit_get_cmd(void)
|
||||
def_cmd(snapshot, 1, 0, 0, 0),
|
||||
def_cmd(stats, 1, 0, 1, 0),
|
||||
def_cmd(summary, 1, 0, 0, 0),
|
||||
def_cmd(tag, 1, 1, 0, 0),
|
||||
def_cmd(tag, 1, 0, 0, 0),
|
||||
def_cmd(tree, 1, 1, 1, 0),
|
||||
};
|
||||
int i;
|
||||
|
13
ui-tag.c
13
ui-tag.c
@ -52,20 +52,24 @@ void cgit_print_tag(char *revname)
|
||||
|
||||
strbuf_addf(&fullref, "refs/tags/%s", revname);
|
||||
if (get_sha1(fullref.buf, sha1)) {
|
||||
cgit_print_error("Bad tag reference: %s", revname);
|
||||
cgit_print_error_page(404, "Not found",
|
||||
"Bad tag reference: %s", revname);
|
||||
goto cleanup;
|
||||
}
|
||||
obj = parse_object(sha1);
|
||||
if (!obj) {
|
||||
cgit_print_error("Bad object id: %s", sha1_to_hex(sha1));
|
||||
cgit_print_error_page(500, "Internal server error",
|
||||
"Bad object id: %s", sha1_to_hex(sha1));
|
||||
goto cleanup;
|
||||
}
|
||||
if (obj->type == OBJ_TAG) {
|
||||
tag = lookup_tag(sha1);
|
||||
if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag))) {
|
||||
cgit_print_error("Bad tag object: %s", revname);
|
||||
cgit_print_error_page(500, "Internal server error",
|
||||
"Bad tag object: %s", revname);
|
||||
goto cleanup;
|
||||
}
|
||||
cgit_print_layout_start();
|
||||
html("<table class='commit-info'>\n");
|
||||
htmlf("<tr><td>tag name</td><td>");
|
||||
html_txt(revname);
|
||||
@ -93,7 +97,9 @@ void cgit_print_tag(char *revname)
|
||||
print_download_links(revname);
|
||||
html("</table>\n");
|
||||
print_tag_content(info->msg);
|
||||
cgit_print_layout_end();
|
||||
} else {
|
||||
cgit_print_layout_start();
|
||||
html("<table class='commit-info'>\n");
|
||||
htmlf("<tr><td>tag name</td><td>");
|
||||
html_txt(revname);
|
||||
@ -104,6 +110,7 @@ void cgit_print_tag(char *revname)
|
||||
if (ctx.repo->snapshots)
|
||||
print_download_links(revname);
|
||||
html("</table>\n");
|
||||
cgit_print_layout_end();
|
||||
}
|
||||
|
||||
cleanup:
|
||||
|
読み込み中…
新しいイシューから参照
ユーザーをブロックする