about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--cgit.c3
-rw-r--r--ui-tag.c5
2 files changed, 7 insertions, 1 deletions
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;
 	}