threads / patch / 26116

patcht3419-*.sh: Fix arithmetic expansion syntax error

Subject: [PATCH] t3419-*.sh: Fix arithmetic expansion syntax error

## tl;dr

3 messages between Dec 21, 2010 and Dec 22, 2010. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

Ramsay Jones· Dec 21, 2010, 18:50 UTC · lore

Some shells, for example dash versions older than 0.5.4, need to spell a variable reference as '$N' rather than 'N' in an arithmetic expansion. In order to avoid the syntax error, we change the offending variable reference from 'i' to '$i' in function scramble.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---

Note that this test is unique in having an '#!/bin/bash' line (rather than '#!/bin/sh'), which was (indirectly) responsible for me not noticing this failure for a while. I don't see anything that would require bash, so I suspect this is not intensional.

ATB, Ramsay Jones

 t/t3419-rebase-patch-id.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to t/t3419-rebase-patch-id.sh +1 −1
diff --git a/t/t3419-rebase-patch-id.sh b/t/t3419-rebase-patch-id.sh
index 1aee483..6972b49 100755
--- a/t/t3419-rebase-patch-id.sh
+++ b/t/t3419-rebase-patch-id.sh
@@ -27,7 +27,7 @@ scramble()
 		then
 			echo "$x"
 		fi
-		i=$(((i+1) % 10))
+		i=$((($i+1) % 10))
 	done < "$1" > "$1.new"
 	mv -f "$1.new" "$1"
 }
-- 
1.7.3
Junio C Hamano· Dec 21, 2010, 20:24 UTC · re: Ramsay Jones · lore

Re: [PATCH] t3419-*.sh: Fix arithmetic expansion syntax error

Ramsay Jones <ramsay@ramsay1.demon.co.uk> writes:
> Note that this test is unique in having an '#!/bin/bash' line (rather
> than '#!/bin/sh'),...

Thanks for spotting, and that is idiotic for us to have such a script. We should fix the shebang line as well.

A quick git-grep shows that this is the only instance of this problem (outside contrib/completion/git-completion.bash, that is).

Clemens Buchacher· Dec 22, 2010, 18:42 UTC · re: Ramsay Jones · lore

Re: [PATCH] t3419-*.sh: Fix arithmetic expansion syntax error

On Tue, Dec 21, 2010 at 06:50:47PM +0000, Ramsay Jones wrote:
> 
> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Thanks.
> Note that this test is unique in having an '#!/bin/bash' line (rather
> than '#!/bin/sh'), which was (indirectly) responsible for me not
> noticing this failure for a while. I don't see anything that would
> require bash, so I suspect this is not intensional.

Indeed. I actually removed all bashisms from the script, but then apparently forgot to get rid of #!/bin/bash as well.

Clemens

← back to recent threads