X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/f43b228d0bca5791be98ff3fbb2f8743219635b6..786609bd36c07b85dbf905fc8c36eba7132122d7:/filter.c diff --git a/filter.c b/filter.c index 3702585..aa36026 100644 --- a/filter.c +++ b/filter.c @@ -37,10 +37,12 @@ void cgit_cleanup_filters(void) reap_filter(ctx.cfg.about_filter); reap_filter(ctx.cfg.commit_filter); reap_filter(ctx.cfg.source_filter); + reap_filter(ctx.cfg.email_filter); for (i = 0; i < cgit_repolist.count; ++i) { reap_filter(cgit_repolist.repos[i].about_filter); reap_filter(cgit_repolist.repos[i].commit_filter); reap_filter(cgit_repolist.repos[i].source_filter); + reap_filter(cgit_repolist.repos[i].email_filter); } } @@ -351,6 +353,8 @@ int cgit_open_filter(struct cgit_filter *filter, ...) { int result; va_list ap; + if (!filter) + return 0; va_start(ap, filter); result = filter->open(filter, ap); va_end(ap); @@ -359,6 +363,8 @@ int cgit_open_filter(struct cgit_filter *filter, ...) int cgit_close_filter(struct cgit_filter *filter) { + if (!filter) + return 0; return filter->close(filter); } @@ -399,6 +405,10 @@ struct cgit_filter *cgit_new_filter(const char *cmd, filter_type filtertype) colon = NULL; switch (filtertype) { + case EMAIL: + argument_count = 2; + break; + case SOURCE: case ABOUT: argument_count = 1;