filter: pass extra arguments via cgit_open_filter

This avoids poking into the filter data structure at various points in
the code.  We rely on the fact that the number of arguments is fixed
based on the filter type (set in cgit_new_filter) and that the call
sites all know which filter type they're using.

Signed-off-by: John Keeping <john@keeping.me.uk>
This commit is contained in:
John Keeping
2014-01-12 17:13:50 +00:00
gecommit door Jason A. Donenfeld
bovenliggende da218fcd9e
commit 3d8a6507ca
5 gewijzigde bestanden met toevoegingen van 38 en 30 verwijderingen

Bestand weergeven

@ -151,18 +151,17 @@ void cgit_print_repo_readme(char *path)
* 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);
}
if (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) {
if (ctx.repo->about_filter)
cgit_close_filter(ctx.repo->about_filter);
ctx.repo->about_filter->argv[1] = NULL;
}
html("</div>");
if (free_filename)
free(filename);