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 <hjemli@gmail.com>
This commit is contained in:
Lars Hjemli 2009-07-31 17:38:38 +02:00
parent 286a905842
commit d6f6072560
3 changed files with 62 additions and 0 deletions

15
cgit.c
View file

@ -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"))