From mboxrd@z Thu Jan 1 00:00:00 1970 From: john at keeping.me.uk (John Keeping) Date: Sun, 7 Apr 2013 10:30:05 +0100 Subject: [PATCH 14/19] ui-summary.c: use struct strbuf instead of fixed-size buffers In-Reply-To: References: Message-ID: <4dd4fc55af2528bc676893c2bff8163d7f7d21d5.1365326321.git.john@keeping.me.uk> Signed-off-by: John Keeping --- ui-summary.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/ui-summary.c b/ui-summary.c index bd123ef..91f4061 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -17,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++; @@ -25,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) @@ -111,9 +115,11 @@ 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)); + if (!ref && *ctx.repo->readme != '/') { + struct strbuf buf = STRBUF_INIT; + strbuf_addf(&buf, "%s/%s", ctx.repo->path, ctx.repo->readme); + ctx.repo->readme = strbuf_detach(&buf, NULL); + } /* If a subpath is specified for the about page, make it relative * to the directory containing the configured readme. -- 1.8.2.692.g17a9715