]> git.cameronkatri.com Git - cgit.git/blobdiff - cgit.h
email-gravatar.py: fix UTF-8
[cgit.git] / cgit.h
diff --git a/cgit.h b/cgit.h
index 92e8c558dab46e402381f084e437cf5be90b0b21..e200a06994c178468f670f63dcb13cc36de19d2a 100644 (file)
--- a/cgit.h
+++ b/cgit.h
@@ -53,20 +53,21 @@ typedef void (*filepair_fn)(struct diff_filepair *pair);
 typedef void (*linediff_fn)(char *line, int len);
 
 typedef enum {
-       ABOUT, COMMIT, SOURCE
+       ABOUT, COMMIT, SOURCE, EMAIL
 } filter_type;
 
 struct cgit_filter {
        int (*open)(struct cgit_filter *, va_list ap);
        int (*close)(struct cgit_filter *);
        void (*fprintf)(struct cgit_filter *, FILE *, const char *prefix);
+       void (*cleanup)(struct cgit_filter *);
+       int argument_count;
 };
 
 struct cgit_exec_filter {
        struct cgit_filter base;
        char *cmd;
        char **argv;
-       int extra_args;
        int old_stdout;
        int pipe_fh[2];
        int pid;
@@ -98,6 +99,7 @@ struct cgit_repo {
        struct cgit_filter *about_filter;
        struct cgit_filter *commit_filter;
        struct cgit_filter *source_filter;
+       struct cgit_filter *email_filter;
        struct string_list submodules;
 };
 
@@ -249,6 +251,7 @@ struct cgit_config {
        struct cgit_filter *about_filter;
        struct cgit_filter *commit_filter;
        struct cgit_filter *source_filter;
+       struct cgit_filter *email_filter;
 };
 
 struct cgit_page {
@@ -355,6 +358,8 @@ extern int cgit_close_filter(struct cgit_filter *filter);
 extern void cgit_fprintf_filter(struct cgit_filter *filter, FILE *f, const char *prefix);
 extern void cgit_exec_filter_init(struct cgit_exec_filter *filter, char *cmd, char **argv);
 extern struct cgit_filter *cgit_new_filter(const char *cmd, filter_type filtertype);
+extern void cgit_cleanup_filters(void);
+extern void cgit_init_filters(void);
 
 extern void cgit_prepare_repo_env(struct cgit_repo * repo);