author | Lars Hjemli <hjemli@gmail.com> | 2008-01-13 17:34:37 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2008-01-13 17:34:37 (UTC) |
commit | 2122c696a34133a616b9ec6d72abe9eb89e728aa (patch) (side-by-side diff) | |
tree | fc3c4693f77b04c1eaf549841d5bae46d9801608 /ui-snapshot.c | |
parent | f39c3c99a12154cdafcdc501a821e3fadd3c0602 (diff) | |
parent | b74cc91574a9284d2f6446fd2ef3df6298ed6992 (diff) | |
download | cgit-2122c696a34133a616b9ec6d72abe9eb89e728aa.zip cgit-2122c696a34133a616b9ec6d72abe9eb89e728aa.tar.gz cgit-2122c696a34133a616b9ec6d72abe9eb89e728aa.tar.bz2 |
Merge branch 'stable'
* stable:
CGIT 0.7.2
Use GIT-1.5.3.8
Compare string lengths when parsing the snapshot mask
Default repo description to "[no description]"
-rw-r--r-- | ui-snapshot.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ui-snapshot.c b/ui-snapshot.c index 4d1aa88..dfedd8f 100644 --- a/ui-snapshot.c +++ b/ui-snapshot.c @@ -101,56 +101,57 @@ void cgit_print_snapshot(struct cacheitem *item, const char *head, args.tree = commit->tree; args.time = commit->date; cgit_print_snapshot_start(sat->mimetype, filename, item); (*sat->write_func)(&args); return; } cgit_print_error(fmt("Unsupported snapshot format: %s", filename)); } void cgit_print_snapshot_links(const char *repo, const char *head, const char *hex, int snapshots) { const struct snapshot_archive_t* sat; char *filename; int f; for(f=0; f<snapshot_archives_len; f++) { sat = &snapshot_archives[f]; if(!(snapshots & sat->bit)) continue; 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) { const struct snapshot_archive_t* sat; static const char *delim = " \t,:/|;"; - int f, tl, rv = 0; + int f, tl, sl, 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<snapshot_archives_len; f++) { sat = &snapshot_archives[f]; - if(!(strncmp(sat->suffix, str, tl) && - strncmp(sat->suffix+1, str, tl-1))) { + sl = strlen(sat->suffix); + if((tl == sl && !strncmp(sat->suffix, str, tl)) || + (tl == sl-1 && !strncmp(sat->suffix+1, str, tl-1))) { rv |= sat->bit; break; } } str += tl; } return rv; } /* vim:set sw=8: */ |