about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2009-08-17 10:17:23 +0200
committerLars Hjemli <hjemli@gmail.com>2009-08-17 10:17:23 +0200
commitcb92d05b6b729cd0e219b43d7a79aff832a9c1ac (patch)
tree3324266f779b12bcf9f80ad5ee2f18f535832549
parentui-log.c: handle lightweight tags when printing commit decorations (diff)
parentcgit.c: do not segfault on unexpected query-string format (diff)
downloadcgit-pink-cb92d05b6b729cd0e219b43d7a79aff832a9c1ac.tar.gz
cgit-pink-cb92d05b6b729cd0e219b43d7a79aff832a9c1ac.zip
Merge branch 'stable'
-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;
 	}