filter: return on null filter from open and close

So that we don't have to include the if(filter) open_filter(filter)
block everywhere, we introduce the guard in the function itself. This
should simplify quite a bit of code.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
Jason A. Donenfeld 2014-01-13 03:56:50 +01:00
parent f43b228d0b
commit 800380dde7
4 changed files with 14 additions and 22 deletions

View File

@ -351,6 +351,8 @@ int cgit_open_filter(struct cgit_filter *filter, ...)
{ {
int result; int result;
va_list ap; va_list ap;
if (!filter)
return 0;
va_start(ap, filter); va_start(ap, filter);
result = filter->open(filter, ap); result = filter->open(filter, ap);
va_end(ap); va_end(ap);
@ -359,6 +361,8 @@ int cgit_open_filter(struct cgit_filter *filter, ...)
int cgit_close_filter(struct cgit_filter *filter) int cgit_close_filter(struct cgit_filter *filter)
{ {
if (!filter)
return 0;
return filter->close(filter); return filter->close(filter);
} }

View File

@ -107,27 +107,21 @@ void cgit_print_commit(char *hex, const char *prefix)
} }
html("</table>\n"); html("</table>\n");
html("<div class='commit-subject'>"); html("<div class='commit-subject'>");
if (ctx.repo->commit_filter)
cgit_open_filter(ctx.repo->commit_filter); cgit_open_filter(ctx.repo->commit_filter);
html_txt(info->subject); html_txt(info->subject);
if (ctx.repo->commit_filter)
cgit_close_filter(ctx.repo->commit_filter); cgit_close_filter(ctx.repo->commit_filter);
show_commit_decorations(commit); show_commit_decorations(commit);
html("</div>"); html("</div>");
html("<div class='commit-msg'>"); html("<div class='commit-msg'>");
if (ctx.repo->commit_filter)
cgit_open_filter(ctx.repo->commit_filter); cgit_open_filter(ctx.repo->commit_filter);
html_txt(info->msg); html_txt(info->msg);
if (ctx.repo->commit_filter)
cgit_close_filter(ctx.repo->commit_filter); cgit_close_filter(ctx.repo->commit_filter);
html("</div>"); html("</div>");
if (notes.len != 0) { if (notes.len != 0) {
html("<div class='notes-header'>Notes</div>"); html("<div class='notes-header'>Notes</div>");
html("<div class='notes'>"); html("<div class='notes'>");
if (ctx.repo->commit_filter)
cgit_open_filter(ctx.repo->commit_filter); cgit_open_filter(ctx.repo->commit_filter);
html_txt(notes.buf); html_txt(notes.buf);
if (ctx.repo->commit_filter)
cgit_close_filter(ctx.repo->commit_filter); cgit_close_filter(ctx.repo->commit_filter);
html("</div>"); html("</div>");
html("<div class='notes-footer'></div>"); html("<div class='notes-footer'></div>");

View File

@ -333,9 +333,7 @@ void cgit_print_site_readme()
{ {
if (!ctx.cfg.root_readme) if (!ctx.cfg.root_readme)
return; return;
if (ctx.cfg.about_filter)
cgit_open_filter(ctx.cfg.about_filter, ctx.cfg.root_readme); cgit_open_filter(ctx.cfg.about_filter, ctx.cfg.root_readme);
html_include(ctx.cfg.root_readme); html_include(ctx.cfg.root_readme);
if (ctx.cfg.about_filter)
cgit_close_filter(ctx.cfg.about_filter); cgit_close_filter(ctx.cfg.about_filter);
} }

View File

@ -151,15 +151,11 @@ void cgit_print_repo_readme(char *path)
* filesystem, while applying the about-filter. * filesystem, while applying the about-filter.
*/ */
html("<div id='summary'>"); html("<div id='summary'>");
if (ctx.repo->about_filter)
cgit_open_filter(ctx.repo->about_filter, filename); cgit_open_filter(ctx.repo->about_filter, filename);
if (ref) if (ref)
cgit_print_file(filename, ref, 1); cgit_print_file(filename, ref, 1);
else else
html_include(filename); html_include(filename);
if (ctx.repo->about_filter)
cgit_close_filter(ctx.repo->about_filter); cgit_close_filter(ctx.repo->about_filter);
html("</div>"); html("</div>");