]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-snapshot.c
auth: add basic authentication filter framework
[ps-cgit] / ui-snapshot.c
index 901c0c9ea56ce7af9515df780bc76ad5f4bb2fda..7115ec44153f3dac4e6dd3c5df1880dfb7322c70 100644 (file)
@@ -58,13 +58,12 @@ static int write_compressed_tar_archive(const char *hex,
                                        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;
 }
 
@@ -98,14 +97,9 @@ const struct cgit_snapshot_format cgit_snapshot_formats[] = {
 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;