commit: 107aacd2d148608cac69f4010df93df4727c2852 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Wed Feb 22 19:20:10 2017 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Wed Mar 8 07:35:27 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=107aacd2
flag-o-matic.eclass: Replace unnecessary evals Replace the evals used to export variables with plain export calls. Bash expands variable references for exported variable name anyway, rendering the eval completely unnecessary. Replace the single eval used for indirect variable reference with the ${!...} substitution which serves that exact purpose in bash. eclass/flag-o-matic.eclass | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index 6d41ddd30f7..b2f3742b3ec 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -116,7 +116,7 @@ _filter-var() { done new+=( "${f}" ) done - eval export ${var}=\""${new[*]}"\" + export ${var}="${new[*]}" } # @FUNCTION: filter-flags @@ -270,7 +270,7 @@ replace-flags() { [[ ${f} == ${1} ]] && f=${2} new+=( "${f}" ) done - eval export ${var}=\""${new[*]}"\" + export ${var}="${new[*]}" done return 0 @@ -295,9 +295,8 @@ replace-cpu-flags() { } _is_flagq() { - local x var - eval var=\""\${$1[*]}"\" - for x in ${var} ; do + local x var="$1[*]" + for x in ${!var} ; do [[ ${x} == $2 ]] && return 0 done return 1 @@ -411,7 +410,7 @@ strip-flags() { if [[ ${!var} != "${new[*]}" ]] ; then einfo "strip-flags: ${var}: changed '${!var}' to '${new[*]}'" fi - eval export ${var}=\""${new[*]}"\" + export ${var}="${new[*]}" done set +f # re-enable pathname expansion