X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/fb3655df3bf85bd405c5921bbd4b3a54c705c839..c0dfaf1c281d0697ce43131343d7a9f170a61ff9:/ui-summary.c diff --git a/ui-summary.c b/ui-summary.c index f965b32..ffad4f2 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -98,6 +98,7 @@ void cgit_print_summary() void cgit_print_repo_readme(char *path) { char *slash, *tmp, *colon, *ref; + int free_filename = 0; if (!ctx.repo->readme || !(*ctx.repo->readme)) return; @@ -108,7 +109,12 @@ void cgit_print_repo_readme(char *path) colon = strchr(ctx.repo->readme, ':'); if (colon && strlen(colon) > 1) { *colon = '\0'; - ref = ctx.repo->readme; + /* If it starts with a colon, we want to use + * the default branch */ + if (colon == ctx.repo->readme && ctx.repo->defbranch) + ref = ctx.repo->defbranch; + else + ref = ctx.repo->readme; ctx.repo->readme = colon + 1; if (!(*ctx.repo->readme)) return; @@ -129,6 +135,7 @@ void cgit_print_repo_readme(char *path) return; slash = colon; } + free_filename = 1; tmp = xmalloc(slash - ctx.repo->readme + 1 + strlen(path) + 1); strncpy(tmp, ctx.repo->readme, slash - ctx.repo->readme + 1); strcpy(tmp + (slash - ctx.repo->readme + 1), path); @@ -139,13 +146,19 @@ void cgit_print_repo_readme(char *path) * filesystem, while applying the about-filter. */ html("