From 3cb1669e07106e9108976a76b7d2f37e659bce6c Mon Sep 17 00:00:00 2001
From: Allan McRae <allan@archlinux.org>
Date: Sun, 7 Feb 2016 21:27:31 +1000
Subject: libmakepkg: increase robustness of the detection of array variables

Extract array detection into its own utility function that ensures
extglob is enabled.

Suggested-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
---
 scripts/libmakepkg/lint_pkgbuild/variable.sh.in | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

(limited to 'scripts/libmakepkg/lint_pkgbuild')

diff --git a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
index 183e7401..30c99090 100644
--- a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
@@ -43,7 +43,7 @@ lint_variable() {
 	for i in ${array[@]} ${arch_array[@]}; do
 		eval "keys=(\"\${!$i[@]}\")"
 		if (( ${#keys[*]} > 0 )); then
-				if [[ "$(declare -p $i)" != "declare -a "* ]]; then
+			if ! is_array $i; then
 				error "$(gettext "%s should be an array")" "$i"
 				ret=1
 			fi
@@ -57,7 +57,7 @@ lint_variable() {
 			v="${i}_${a}"
 			eval "keys=(\"\${!${v}[@]}\")"
 			if (( ${#keys[*]} > 0 )); then
-				if [[ "$(declare -p $v)" != "declare -a "* ]]; then
+				if ! is_array $v; then
 					error "$(gettext "%s_%s should be an array")" "$i" "$a"
 					ret=1
 				fi
@@ -68,7 +68,7 @@ lint_variable() {
 	for i in ${string[@]}; do
 		eval "keys=(\"\${!$i[@]}\")"
 		if (( ${#keys[*]} > 0 )); then
-			if [[ "$(declare -p $i)" == "declare -a "* ]]; then
+			if is_array $i; then
 				error "$(gettext "%s should not be an array")" "$i"
 				ret=1
 			fi
-- 
cgit v1.2.3-70-g09d2