X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/dcbc0438b2543a733858d62170f3110a89edbed6..eeaffc33432d3cf91902cac3eab50c0598bdaa19:/ui-summary.c diff --git a/ui-summary.c b/ui-summary.c index d8500d6..3728c3e 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -1,7 +1,6 @@ /* ui-summary.c: functions for generating repo summary page * - * Copyright (C) 2006 Lars Hjemli - * Copyright (C) 2010-2013 Jason A. Donenfeld + * Copyright (C) 2006-2014 cgit Development Team * * Licensed under GNU General Public License v2 * (see COPYING for full license text) @@ -113,11 +112,11 @@ static char* append_readme_path(const char *filename, const char *ref, const cha full_path = xstrdup(path); } else full_path = fmtalloc("%s/%s", base_dir, path); - + if (!ref) { resolved_base = realpath(base_dir, NULL); resolved_full = realpath(full_path, NULL); - if (!resolved_base || !resolved_full || strncmp(resolved_base, resolved_full, strlen(resolved_base))) { + if (!resolved_base || !resolved_full || !starts_with(resolved_full, resolved_base)) { free(full_path); full_path = NULL; } @@ -137,7 +136,7 @@ void cgit_print_repo_readme(char *path) if (ctx.repo->readme.nr == 0) return; - + filename = ctx.repo->readme.items[0].string; ref = ctx.repo->readme.items[0].util; @@ -152,19 +151,13 @@ void cgit_print_repo_readme(char *path) * filesystem, while applying the about-filter. */ html("
"); - if (ctx.repo->about_filter) { - ctx.repo->about_filter->argv[1] = filename; - cgit_open_filter(ctx.repo->about_filter); - } + cgit_open_filter(ctx.repo->about_filter, filename); if (ref) cgit_print_file(filename, ref, 1); else html_include(filename); - if (ctx.repo->about_filter) { - cgit_close_filter(ctx.repo->about_filter); - ctx.repo->about_filter->argv[1] = NULL; - free(ref); - } + cgit_close_filter(ctx.repo->about_filter); + html("
"); if (free_filename) free(filename);