]> gitweb.ps.run Git - ps-cgit/blobdiff - cgit.c
filter: allow for cleanup hook for filter types
[ps-cgit] / cgit.c
diff --git a/cgit.c b/cgit.c
index 0be41b8b5b4cbb5457e12e22b26b70f2ab80c51a..4f31e58a27594650c79b7cc8010891f3f5869852 100644 (file)
--- a/cgit.c
+++ b/cgit.c
@@ -706,11 +706,11 @@ static void print_repo(FILE *f, struct cgit_repo *repo)
        fprintf(f, "repo.enable-log-linecount=%d\n",
                repo->enable_log_linecount);
        if (repo->about_filter && repo->about_filter != ctx.cfg.about_filter)
-               fprintf(f, "repo.about-filter=%s\n", repo->about_filter->cmd);
+               cgit_fprintf_filter(repo->about_filter, f, "repo.about-filter=");
        if (repo->commit_filter && repo->commit_filter != ctx.cfg.commit_filter)
-               fprintf(f, "repo.commit-filter=%s\n", repo->commit_filter->cmd);
+               cgit_fprintf_filter(repo->commit_filter, f, "repo.commit-filter=");
        if (repo->source_filter && repo->source_filter != ctx.cfg.source_filter)
-               fprintf(f, "repo.source-filter=%s\n", repo->source_filter->cmd);
+               cgit_fprintf_filter(repo->source_filter, f, "repo.source-filter=");
        if (repo->snapshots != ctx.cfg.snapshots) {
                char *tmp = build_snapshot_setting(repo->snapshots);
                fprintf(f, "repo.snapshots=%s\n", tmp ? tmp : "");
@@ -951,6 +951,7 @@ int main(int argc, const char **argv)
                ctx.cfg.cache_size = 0;
        err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root,
                            ctx.qry.raw, ttl, process_request, &ctx);
+       cgit_cleanup_filters();
        if (err)
                cgit_print_error("Error processing page: %s (%d)",
                                 strerror(err), err);