X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/977a3ad7bf212e6ec7f43c16763321061ee64a69..3cb5d86dc68bab4883bf5a7cbc90f3e266237355:/ui-summary.c diff --git a/ui-summary.c b/ui-summary.c index 0754bb7..abf914e 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -8,6 +8,7 @@ */ #include "cgit.h" +#include "ui-summary.h" #include "html.h" #include "ui-log.h" #include "ui-refs.h" @@ -16,6 +17,7 @@ static void print_url(char *base, char *suffix) { int columns = 3; + struct strbuf basebuf = STRBUF_INIT; if (ctx.repo->enable_log_filecount) columns++; @@ -24,13 +26,16 @@ static void print_url(char *base, char *suffix) if (!base || !*base) return; - if (suffix && *suffix) - base = fmt("%s/%s", base, suffix); + if (suffix && *suffix) { + strbuf_addf(&basebuf, "%s/%s", base, suffix); + base = basebuf.buf; + } htmlf(""); html_txt(base); html("\n"); + strbuf_release(&basebuf); } static void print_urls(char *txt, char *suffix) @@ -103,7 +108,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; @@ -111,8 +121,8 @@ void cgit_print_repo_readme(char *path) /* Prepend repo path to relative readme path unless tracked. */ if (!ref && *ctx.repo->readme != '/') - ctx.repo->readme = xstrdup(fmt("%s/%s", ctx.repo->path, - ctx.repo->readme)); + ctx.repo->readme = fmtalloc("%s/%s", ctx.repo->path, + ctx.repo->readme); /* If a subpath is specified for the about page, make it relative * to the directory containing the configured readme.