Commit a92a3607 authored by Dave Reisner's avatar Dave Reisner Committed by Allan McRae
Browse files

makepkg: fix initialization when extracting arrays

Assuming that everything is a string leads to code which is effectively:

  a=
  a+=('bar')

This creates an array with 2 elements instead of one. Using proper array
initialization fixes this.

https://lists.archlinux.org/pipermail/pacman-dev/2018-June/022591.html


Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
parent 5cf6f614
...@@ -106,7 +106,11 @@ get_pkgbuild_attribute() { ...@@ -106,7 +106,11 @@ get_pkgbuild_attribute() {
local pkgname=$1 attrname=$2 isarray=$3 outputvar=$4 local pkgname=$1 attrname=$2 isarray=$3 outputvar=$4
printf -v "$outputvar" %s '' if (( isarray )); then
eval "$outputvar=()"
else
printf -v "$outputvar" %s ''
fi
if [[ $pkgname ]]; then if [[ $pkgname ]]; then
extract_global_variable "$attrname" "$isarray" "$outputvar" extract_global_variable "$attrname" "$isarray" "$outputvar"
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment