diff options
author | Aaron Campbell <aaron@monkey.org> | 2015-11-04 15:43:12 -0400 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2015-11-05 11:55:17 +1000 |
commit | bf0e8e6b435f0ab28745d6f6d3279dc66ac3e9ef (patch) | |
tree | 5cdee677076ff0da4688241af7846ba6052190d8 | |
parent | 8fa02036c3175f4cb1e837b6da5281520524ccba (diff) | |
download | pacman-bf0e8e6b435f0ab28745d6f6d3279dc66ac3e9ef.tar.xz |
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 <aaron@monkey.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | scripts/libmakepkg/lint_pkgbuild/source.sh.in | 2 |
1 files changed, 1 insertions, 1 deletions
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 |