--- eclass/eapi7-ver.eclass | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/eclass/eapi7-ver.eclass b/eclass/eapi7-ver.eclass index 6117124a90a5..3a200cbe9ef2 100644 --- a/eclass/eapi7-ver.eclass +++ b/eclass/eapi7-ver.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # @ECLASS: eapi7-ver.eclass @@ -58,12 +58,8 @@ # the version string, it is truncated silently. case ${EAPI:-0} in - 0|1|2|3|4|5) - die "${ECLASS}: EAPI=${EAPI:-0} not supported";; - 6) - ;; - *) - die "${ECLASS}: EAPI=${EAPI} includes all functions from this eclass";; + 0|1|2|3|4|5|6) ;; + *) die "${ECLASS}: EAPI=${EAPI} includes all functions from this eclass" ;; esac # @FUNCTION: _ver_parse_range @@ -128,18 +124,22 @@ _ver_split() { ver_cut() { local range=${1} local v=${2:-${PV}} - local start end + local start end i out local -a comp _ver_split "${v}" local max=$((${#comp[@]}/2)) _ver_parse_range "${range}" "${max}" - local IFS= if [[ ${start} -gt 0 ]]; then start=$(( start*2 - 1 )) fi - echo "${comp[*]:start:end*2-start}" + # Work around a bug in bash-3.2, where "${comp[*]:start:end*2-start}" + # inserts spurious 0x7f characters for empty array elements + for (( i = start; i < end*2; i++ )); do + out+=${comp[i]} + done + echo "${out}" } # @FUNCTION: ver_rs -- 2.17.0
pgpIIUIMwuL2N.pgp
Description: PGP signature