aboutsummaryrefslogtreecommitdiff
path: root/cgit.c
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'cgit.c')
-rw-r--r--cgit.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/cgit.c b/cgit.c
index cefeddf..8795085 100644
--- a/cgit.c
+++ b/cgit.c
@@ -207,19 +207,15 @@ int find_current_ref(const char *refname, const unsigned char *sha1,
char *find_default_branch(struct cgit_repo *repo)
{
struct refmatch info;
- char *ref;
info.req_ref = repo->defbranch;
info.first_ref = NULL;
info.match = 0;
for_each_branch_ref(find_current_ref, &info);
if (info.match)
- ref = info.req_ref;
+ return info.req_ref;
else
- ref = info.first_ref;
- if (ref)
- ref = xstrdup(ref);
- return ref;
+ return info.first_ref;
}
static int prepare_repo_cmd(struct cgit_context *ctx)
@@ -245,7 +241,7 @@ static int prepare_repo_cmd(struct cgit_context *ctx)
ctx->page.title = fmt("%s - %s", ctx->repo->name, ctx->repo->desc);
if (!ctx->qry.head) {
- ctx->qry.head = find_default_branch(ctx->repo);
+ ctx->qry.head = xstrdup(find_default_branch(ctx->repo));
ctx->repo->defbranch = ctx->qry.head;
}