From 204669ff4a4028a82cc48e9319632595ba3ff703 Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Sun, 5 Oct 2008 13:13:03 +0200 Subject: ui-snapshot.c: specify archiver_args.baselen The struct member was introduces in git commit d53fe8187c38, but the cgit testsuite failed to detect that cgit always generated archives without prefixes, i.e. the result from cgit_repobasename was ignored. This fixes the bug and the testsuite. Signed-off-by: Lars Hjemli --- tests/t0107-snapshot.sh | 5 ++++- ui-snapshot.c | 8 +++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/t0107-snapshot.sh b/tests/t0107-snapshot.sh index 8e90e10..d97c465 100755 --- a/tests/t0107-snapshot.sh +++ b/tests/t0107-snapshot.sh @@ -21,7 +21,10 @@ run_test 'strip off the header lines' ' ' run_test 'verify gzip format' 'gunzip --test trash/test.tar.gz' -run_test 'untar' 'tar -xf trash/test.tar.gz -C trash' +run_test 'untar' ' + rm -rf trash/foo && + tar -xf trash/test.tar.gz -C trash +' run_test 'count files' ' c=$(ls -1 trash/foo/ | wc -l) && diff --git a/ui-snapshot.c b/ui-snapshot.c index 966a140..7a597ff 100644 --- a/ui-snapshot.c +++ b/ui-snapshot.c @@ -82,7 +82,13 @@ static int make_snapshot(const struct cgit_snapshot_format *format, return 1; } memset(&args, 0, sizeof(args)); - args.base = fmt("%s/", prefix); + if (prefix) { + args.base = fmt("%s/", prefix); + args.baselen = strlen(prefix) + 1; + } else { + args.base = ""; + args.baselen = 0; + } args.tree = commit->tree; args.time = commit->date; ctx.page.mimetype = xstrdup(format->mimetype); -- cgit v1.2.3-18-g5258