]> Sergey Matveev's repositories - bfs.git/commitdiff
tests: Don't unset array[-1]
authorTavian Barnes <tavianator@tavianator.com>
Thu, 19 Oct 2023 21:05:36 +0000 (17:05 -0400)
committerTavian Barnes <tavianator@tavianator.com>
Thu, 19 Oct 2023 21:05:36 +0000 (17:05 -0400)
This was only added in Bash 4.3 which is too new for macOS.

tests/util.sh

index 5131522dd47102cf46a6e869f79eaa393e578f9d..efc24b02529269894b2ea1b155f5595b002594cf 100644 (file)
@@ -160,12 +160,13 @@ defer() {
 
 # Pop a single command from the defer stack and run it
 pop_defer() {
-    local cmd="${DEFER_CMDS[-1]}"
-    local file="${DEFER_FILES[-1]}"
-    local line="${DEFER_LINES[-1]}"
-    unset "DEFER_CMDS[-1]"
-    unset "DEFER_FILES[-1]"
-    unset "DEFER_LINES[-1]"
+    local i=$((${#DEFER_CMDS[@]} - 1))
+    local cmd="${DEFER_CMDS[$i]}"
+    local file="${DEFER_FILES[$i]}"
+    local line="${DEFER_LINES[$i]}"
+    unset "DEFER_CMDS[$i]"
+    unset "DEFER_FILES[$i]"
+    unset "DEFER_LINES[$i]"
 
     local ret=0
     eval "$cmd" || ret=$?