diff options
author | John Keeping <john@keeping.me.uk> | 2014-01-12 17:13:50 +0000 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-01-12 20:20:20 +0100 |
commit | 3d8a6507ca542881a5e8b30ad6b7068a9c4fdeea (patch) | |
tree | f95c74d3317546606d72b74db3082769515c5e33 /cgit.h | |
parent | ui-snapshot: set unused cgit_filter fields to zero (diff) | |
download | cgit-pink-3d8a6507ca542881a5e8b30ad6b7068a9c4fdeea.tar.gz cgit-pink-3d8a6507ca542881a5e8b30ad6b7068a9c4fdeea.zip |
filter: pass extra arguments via cgit_open_filter
This avoids poking into the filter data structure at various points in the code. We rely on the fact that the number of arguments is fixed based on the filter type (set in cgit_new_filter) and that the call sites all know which filter type they're using. Signed-off-by: John Keeping <john@keeping.me.uk>
Diffstat (limited to '')
-rw-r--r-- | cgit.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/cgit.h b/cgit.h index a72c503..e6e7715 100644 --- a/cgit.h +++ b/cgit.h @@ -59,6 +59,7 @@ typedef enum { struct cgit_filter { char *cmd; char **argv; + int extra_args; int old_stdout; int pipe_fh[2]; int pid; @@ -342,7 +343,7 @@ extern const char *cgit_repobasename(const char *reponame); extern int cgit_parse_snapshots_mask(const char *str); -extern int cgit_open_filter(struct cgit_filter *filter); +extern int cgit_open_filter(struct cgit_filter *filter, ...); extern int cgit_close_filter(struct cgit_filter *filter); extern struct cgit_filter *cgit_new_filter(const char *cmd, filter_type filtertype); |