python-utils-r1.eclass: _python_set_impls, use local vars
authorMichał Górny <mgorny@gentoo.org>
Wed, 1 Mar 2017 08:14:13 +0000 (09:14 +0100)
committerMichał Górny <mgorny@gentoo.org>
Wed, 8 Mar 2017 07:35:42 +0000 (08:35 +0100)
Refactor _python_set_impls to use local variables throughout
the function and assign global values at the end. This prepares it for
double-inherit integrity checks. NFC.

eclass/python-utils-r1.eclass

index 0cc5b963998e3d39b5adf1840c316c63c66de68b..a6f197bd418f285cd42ac86bc1d023084c069657 100644 (file)
@@ -114,21 +114,22 @@ _python_set_impls() {
                _python_impl_supported "${i}"
        done
 
-       _PYTHON_SUPPORTED_IMPLS=()
-       _PYTHON_UNSUPPORTED_IMPLS=()
+       local supp=() unsupp=()
 
        for i in "${_PYTHON_ALL_IMPLS[@]}"; do
                if has "${i}" "${PYTHON_COMPAT[@]}"; then
-                       _PYTHON_SUPPORTED_IMPLS+=( "${i}" )
+                       supp+=( "${i}" )
                else
-                       _PYTHON_UNSUPPORTED_IMPLS+=( "${i}" )
+                       unsupp+=( "${i}" )
                fi
        done
 
-       if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 0 ]]; then
+       if [[ ! ${supp[@]} ]]; then
                die "No supported implementation in PYTHON_COMPAT."
        fi
 
+       _PYTHON_SUPPORTED_IMPLS=( "${supp[@]}" )
+       _PYTHON_UNSUPPORTED_IMPLS=( "${unsupp[@]}" )
        readonly _PYTHON_SUPPORTED_IMPLS _PYTHON_UNSUPPORTED_IMPLS
 }