char *filter_argv[])
{
int rv;
- struct cgit_filter f;
+ struct cgit_exec_filter f;
+ cgit_exec_filter_init(&f, filter_argv[0], filter_argv);
- f.cmd = filter_argv[0];
- f.argv = filter_argv;
- cgit_open_filter(&f);
+ cgit_open_filter(&f.base);
rv = write_tar_archive(hex, prefix);
- cgit_close_filter(&f);
+ cgit_close_filter(&f.base);
return rv;
}
static const struct cgit_snapshot_format *get_format(const char *filename)
{
const struct cgit_snapshot_format *fmt;
- int fl, sl;
- fl = strlen(filename);
for (fmt = cgit_snapshot_formats; fmt->suffix; fmt++) {
- sl = strlen(fmt->suffix);
- if (sl >= fl)
- continue;
- if (!strcmp(fmt->suffix, filename + fl - sl))
+ if (!suffixcmp(filename, fmt->suffix))
return fmt;
}
return NULL;