From bf0e8e6b435f0ab28745d6f6d3279dc66ac3e9ef Mon Sep 17 00:00:00 2001 From: Aaron Campbell Date: Wed, 4 Nov 2015 15:43:12 -0400 Subject: Refactor lint_source to work with earlier versions of Bash Negative subscripts to indexed arrays are not supported before 4.2. However, since substring expansion works on arrays, we can specify an offset of -1 to be taken relative to one greater than the maximum index of the specified array (see Parameter Expansion section of the bash man page). This works with both Bash 4.1 and 4.2, and 4.1 is already the oldest supported by pacman. Signed-off-by: Aaron Campbell Signed-off-by: Allan McRae --- scripts/libmakepkg/lint_pkgbuild/source.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libmakepkg/lint_pkgbuild/source.sh.in b/scripts/libmakepkg/lint_pkgbuild/source.sh.in index c3272993..b5f45863 100644 --- a/scripts/libmakepkg/lint_pkgbuild/source.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/source.sh.in @@ -32,7 +32,7 @@ lint_pkgbuild_functions+=('lint_source') lint_source() { local idx=("${!source[@]}") - if (( ${#source[*]} > 0 && (idx[-1] + 1) != ${#source[*]} )); then + if (( ${#source[*]} > 0 && (${idx[@]: -1} + 1) != ${#source[*]} )); then error "$(gettext "Sparse arrays are not allowed for source")" return 1 fi -- cgit v1.2.3