X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/b1db30cd2577fb59fb4490a284e0a34a0345cc02..81bf4d32b377d3f2fdd7ab3ca651be99408f5c32:/ui-plain.c diff --git a/ui-plain.c b/ui-plain.c index 8ef4ec6..9c86542 100644 --- a/ui-plain.c +++ b/ui-plain.c @@ -8,6 +8,7 @@ #include #include "cgit.h" +#include "ui-plain.h" #include "html.h" #include "ui-shared.h" @@ -94,22 +95,23 @@ static int print_object(const unsigned char *sha1, const char *path) else ctx.page.mimetype = "text/plain"; } - ctx.page.filename = fmt("%s", path); + ctx.page.filename = path; ctx.page.size = size; ctx.page.etag = sha1_to_hex(sha1); cgit_print_http_headers(&ctx); html_raw(buf, size); + /* If we allocated this, then casting away const is safe. */ if (freemime) - free(ctx.page.mimetype); + free((char*) ctx.page.mimetype); return 1; } static char *buildpath(const char *base, int baselen, const char *path) { if (path[0]) - return fmt("%.*s%s/", baselen, base, path); + return fmtalloc("%.*s%s/", baselen, base, path); else - return fmt("%.*s/", baselen, base); + return fmtalloc("%.*s/", baselen, base); } static void print_dir(const unsigned char *sha1, const char *base, @@ -140,6 +142,7 @@ static void print_dir(const unsigned char *sha1, const char *base, fullpath); html("\n"); } + free(fullpath); } static void print_dir_entry(const unsigned char *sha1, const char *base, @@ -157,6 +160,7 @@ static void print_dir_entry(const unsigned char *sha1, const char *base, cgit_plain_link(path, NULL, NULL, ctx.qry.head, ctx.qry.sha1, fullpath); html("\n"); + free(fullpath); } static void print_dir_tail(void)