t0090: avoid passing empty string to printf %d
authorRené Scharfe <l.s.r@web.de>
Tue, 30 Sep 2014 17:42:03 +0000 (19:42 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 30 Sep 2014 18:53:23 +0000 (11:53 -0700)
FreeBSD's printf(1) doesn't accept empty strings for numerical format
specifiers:

$ printf "%d\n" "" >/dev/null; echo $?
printf: : expected numeric value
1

Initialize the AWK variable c to make sure the shell variable
subtree_count always contains a numerical value, in order to keep the
subsequently called printf happy.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t0090-cache-tree.sh
index f9648a86426470785159b5132305a256c80b5ca4..158cf4f03b63cf4eb61901dd1e178b3d1d08467a 100755 (executable)
@@ -22,7 +22,7 @@ generate_expected_cache_tree_rec () {
        # ls-files might have foo/bar, foo/bar/baz, and foo/bar/quux
        # We want to count only foo because it's the only direct child
        subtrees=$(git ls-files|grep /|cut -d / -f 1|uniq) &&
-       subtree_count=$(echo "$subtrees"|awk '$1 {++c} END {print c}') &&
+       subtree_count=$(echo "$subtrees"|awk -v c=0 '$1 {++c} END {print c}') &&
        entries=$(git ls-files|wc -l) &&
        printf "SHA $dir (%d entries, %d subtrees)\n" "$entries" "$subtree_count" &&
        for subtree in $subtrees