diff --git a/cgit.c b/cgit.c index 66dd140..5816f3d 100644 --- a/cgit.c +++ b/cgit.c @@ -177,6 +177,9 @@ void config_cb(const char *name, const char *value) static void querystring_cb(const char *name, const char *value) { + if (!value) + value = ""; + if (!strcmp(name,"r")) { ctx.qry.repo = xstrdup(value); ctx.repo = cgit_get_repoinfo(value); diff --git a/ui-tag.c b/ui-tag.c index a9c8670..c2d72af 100644 --- a/ui-tag.c +++ b/ui-tag.c @@ -37,7 +37,10 @@ void cgit_print_tag(char *revname) struct tag *tag; struct taginfo *info; - if (get_sha1(revname, sha1)) { + if (!revname) + revname = ctx.qry.head; + + if (get_sha1(fmt("refs/tags/%s", revname), sha1)) { cgit_print_error(fmt("Bad tag reference: %s", revname)); return; }