From d6f6072560c963065b13c704fa1fa6f8950e4bac Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Fri, 31 Jul 2009 17:38:38 +0200 Subject: Add generic filter/plugin infrastructure The functions cgit_open_filter() and cgit_close_filter() can be used to execute filters on the output stream from cgit. Signed-off-by: Lars Hjemli --- cgit.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'cgit.c') diff --git a/cgit.c b/cgit.c index 2039ab1..779a464 100644 --- a/cgit.c +++ b/cgit.c @@ -17,6 +17,21 @@ const char *cgit_version = CGIT_VERSION; +struct cgit_filter *new_filter(const char *cmd, int extra_args) +{ + struct cgit_filter *f; + + if (!cmd) + return NULL; + + f = xmalloc(sizeof(struct cgit_filter)); + f->cmd = xstrdup(cmd); + f->argv = xmalloc((2 + extra_args) * sizeof(char *)); + f->argv[0] = f->cmd; + f->argv[1] = NULL; + return f; +} + void config_cb(const char *name, const char *value) { if (!strcmp(name, "root-title")) -- cgit v1.2.3-59-g8ed1b