/* ui-summary.c: functions for generating repo summary page
*
- * Copyright (C) 2006 Lars Hjemli
- * Copyright (C) 2010-2013 Jason A. Donenfeld <Jason@zx2c4.com>
+ * Copyright (C) 2006-2014 cgit Development Team <cgit@lists.zx2c4.com>
*
* Licensed under GNU General Public License v2
* (see COPYING for full license text)
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;
}
if (ctx.repo->readme.nr == 0)
return;
-
+
filename = ctx.repo->readme.items[0].string;
ref = ctx.repo->readme.items[0].util;
* filesystem, while applying the about-filter.
*/
html("<div id='summary'>");
- 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("</div>");
if (free_filename)
free(filename);