about summary refs log tree commit
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2009-01-11 12:22:46 +0100
committerLars Hjemli <hjemli@gmail.com>2009-01-11 12:22:46 +0100
commitaa60ae12cb3db965b3fe7239424cab92175b8343 (patch)
tree9c20ae788b27328578a6cc5203b85b38cd890a56
parent7f7c1ddd37f7286afc02fa06bf4f62cfa4e9ee12 (diff)
parent7bbc27458532c16b9fdbe2b54fad4db04fbd1186 (diff)
downloadcgit-aa60ae12cb3db965b3fe7239424cab92175b8343.tar.gz
Merge branch 'snapshot-fixes'
-rwxr-xr-xtests/t0107-snapshot.sh20
-rw-r--r--ui-snapshot.c8
2 files changed, 15 insertions, 13 deletions
diff --git a/tests/t0107-snapshot.sh b/tests/t0107-snapshot.sh
index c42091a..8ab4912 100755
--- a/tests/t0107-snapshot.sh
+++ b/tests/t0107-snapshot.sh
@@ -4,8 +4,8 @@
 
 prepare_tests "Verify snapshot"
 
-run_test 'get foo/snapshot/test.tar.gz' '
-        cgit_url "foo/snapshot/test.tar.gz" >trash/tmp
+run_test 'get foo/snapshot/master.tar.gz' '
+        cgit_url "foo/snapshot/master.tar.gz" >trash/tmp
 '
 
 run_test 'check html headers' '
@@ -13,27 +13,27 @@ run_test 'check html headers' '
              grep -e "Content-Type: application/x-gzip" &&
 
         head -n 2 trash/tmp |
-             grep -e "Content-Disposition: inline; filename=.test.tar.gz."
+             grep -e "Content-Disposition: inline; filename=.master.tar.gz."
 '
 
 run_test 'strip off the header lines' '
-         tail -n +6 trash/tmp > trash/test.tar.gz
+         tail -n +6 trash/tmp > trash/master.tar.gz
 '
 
-run_test 'verify gzip format' 'gunzip --test trash/test.tar.gz'
+run_test 'verify gzip format' 'gunzip --test trash/master.tar.gz'
 run_test 'untar' '
-        rm -rf trash/foo &&
-        tar -xf trash/test.tar.gz -C trash
+        rm -rf trash/master &&
+        tar -xf trash/master.tar.gz -C trash
 '
 
 run_test 'count files' '
-        c=$(ls -1 trash/foo/ | wc -l) &&
+        c=$(ls -1 trash/master/ | wc -l) &&
         test $c = 5
 '
 
 run_test 'verify untarred file-5' '
-         grep -e "^5$" trash/foo/file-5 &&
-         test $(cat trash/foo/file-5 | wc -l) = 1
+         grep -e "^5$" trash/master/file-5 &&
+         test $(cat trash/master/file-5 | wc -l) = 1
 '
 
 tests_done
diff --git a/ui-snapshot.c b/ui-snapshot.c
index 5f813fc..f25613e 100644
--- a/ui-snapshot.c
+++ b/ui-snapshot.c
@@ -175,10 +175,12 @@ void cgit_print_snapshot(const char *head, const char *hex,
 
         if (!hex && dwim) {
                 hex = get_ref_from_filename(ctx.repo->url, filename, f);
-                if (hex != NULL) {
-                        prefix = xstrdup(filename);
-                        prefix[strlen(filename) - strlen(f->suffix)] = '\0';
+                if (hex == NULL) {
+                        html_status(404, "Not found", 0);
+                        return;
                 }
+                prefix = xstrdup(filename);
+                prefix[strlen(filename) - strlen(f->suffix)] = '\0';
         }
 
         if (!hex)