[PATCH 14/19] ui-summary.c: use struct strbuf instead of fixed-size buffers
John Keeping
john at keeping.me.uk
Sun Apr 7 11:30:05 CEST 2013
Signed-off-by: John Keeping <john at keeping.me.uk>
---
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("<tr><td colspan='%d'><a href='", columns);
html_url_path(base);
html("'>");
html_txt(base);
html("</a></td></tr>\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
More information about the CGit
mailing list