- int f, sl, fnl = strlen(filename);
-
- for(f=0; f<snapshot_archives_len; f++) {
- sat = &snapshot_archives[f];
- if(!(snapshots & sat->bit))
- continue;
- sl = strlen(sat->suffix);
- if(fnl<sl || strcmp(&filename[fnl-sl],sat->suffix))
- continue;
- if (!hex)
- hex = head;
- if(get_sha1(hex, sha1)) {
- cgit_print_error(fmt("Bad object id: %s", hex));
- return;
- }
- commit = lookup_commit_reference(sha1);
- if(!commit) {
- cgit_print_error(fmt("Not a commit reference: %s", hex));
- return;;
- }
- memset(&args,0,sizeof(args));
- args.base = fmt("%s/", prefix);
- args.tree = commit->tree;
- args.time = commit->date;
- cgit_print_snapshot_start(sat->mimetype, filename, item);
- (*sat->write_func)(&args);
- return;
+
+ if (get_sha1(hex, sha1)) {
+ cgit_print_error("Bad object id: %s", hex);
+ return 1;
+ }
+ if (!lookup_commit_reference(sha1)) {
+ cgit_print_error("Not a commit reference: %s", hex);
+ return 1;