-static struct cgit_filter *new_filter(const char *cmd, filter_type filtertype)
-{
- struct cgit_filter *f;
- int args_size = 0;
- int extra_args;
-
- if (!cmd || !cmd[0])
- return NULL;
-
- switch (filtertype) {
- case SOURCE:
- case ABOUT:
- extra_args = 1;
- break;
-
- case COMMIT:
- default:
- extra_args = 0;
- break;
- }
-
- f = xmalloc(sizeof(struct cgit_filter));
- f->cmd = xstrdup(cmd);
- args_size = (2 + extra_args) * sizeof(char *);
- f->argv = xmalloc(args_size);
- memset(f->argv, 0, args_size);
- f->argv[0] = f->cmd;
- return f;
-}
-