- filename = fmt("%s-%s%s", cgit_repobasename(repo), hex,
- sat->suffix);
- cgit_snapshot_link(filename, NULL, NULL, (char *)head,
- (char *)hex, filename);
- html("<br/>");
- }
-}
-
-int cgit_parse_snapshots_mask(const char *str)
-{
- static const char *delim = " \t,:/|;";
- int f, tl, rv = 0;
- /* favor legacy setting */
- if(atoi(str)) return 1;
- for(;;) {
- str += strspn(str,delim);
- tl = strcspn(str,delim);
- if(!tl)
- break;
- for(f=0;f<(sizeof(snapshot_archives)/sizeof(*snapshot_archives));++f) {
- const struct snapshot_archive_t* sat = &snapshot_archives[f];
- if(! ( strncmp(sat->suffix,str,tl) && strncmp(sat->suffix+1,str,tl-1) ) ) {
- rv |= sat->bit;
- break;
- }
- }
- str += tl;
+ sl = strlen(f->suffix);
+ if(fnl < sl || strcmp(&filename[fnl-sl], f->suffix))
+ continue;
+ make_snapshot(f, hex, prefix, filename);
+ return;