From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 19EF513825A for ; Sun, 15 May 2016 13:31:49 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9D948234003; Sun, 15 May 2016 13:31:37 +0000 (UTC) Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 993DB21C075 for ; Sun, 15 May 2016 13:31:36 +0000 (UTC) Received: by mail-wm0-f66.google.com with SMTP id n129so12735304wmn.1 for ; Sun, 15 May 2016 06:31:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=vpoKU3okL7RgkidSry+qnwQjIY4UxLMhrkItbla+fuE=; b=vPw2zUa37FzDxnvHlayvUFIBikRR7XyDXKghAuOMtAYlmhytZiIxPpPaqTwTkysuRO b7fp6xgP1qeeuB9ZdLEFp4TLX8Tg3+61nJeSAVWGFjnqxPyNNDpyvmJQ3oNAZoe9WgTa JadcNtsFigLYoAU9o0yN9VfX14PLY5yq0yXAQ4ns0mPXQRHyGRntMH+MqIyGwAozCMB2 ISGJgPPZT6O6Z0i5XQMiX7RNU1N++660FqPKCC6TFrtLC3HfM2ES4hgtBP5a3hFg1y/r XEh4Dfv08DZKFK6NxisdksN1CPK8yDOSTSvQWkpN+PO7K5CS06xRwUljkugWNHYmm115 k+iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=vpoKU3okL7RgkidSry+qnwQjIY4UxLMhrkItbla+fuE=; b=OShox6Gl79UJqKT2D+O7ohEyX2JANT/ZB9tkJfECz98us8hPrB/mfExgJRcO5rXXoV JNgHamIOzwDamRD1+eO6DMzyAl1dnwdnnTqyzZjNwT9PvRQXOAj3DYhKdVw9yG4qo4oG +Byt/VeddE82wSUBzhxaSz/bMwO2CnSSLrIwM3xnUAlamG4D/sb5osSdVj+07Ry+dbtJ Bqbske10Fc371JPn+HFnwLqQtWVLhb9d7uVuJ5hp6uCLJQiBeSoHDIdOSp1wFFIRJmlu AcS4aQhlJC6MVeEd52GYEKLXuPl9/fkwafvhPYP+S55QDxWIJHB+dDii5fo0boo2C1T5 m4Uw== X-Gm-Message-State: AOPr4FUl4s19GkyFqFngi243PfuzqFY4rvvwxhpL+pg8oJx9LNlj4YfZZsNvv+dvAmmVoQ== X-Received: by 10.194.149.37 with SMTP id tx5mr10519467wjb.94.1463319095265; Sun, 15 May 2016 06:31:35 -0700 (PDT) Received: from gideon.uv.now.im ([81.90.254.114]) by smtp.gmail.com with ESMTPSA id c85sm12941227wmd.0.2016.05.15.06.31.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 15 May 2016 06:31:34 -0700 (PDT) From: Jan Chren To: gentoo-dev@lists.gentoo.org Cc: Jan Chren Subject: [gentoo-dev] [PATCH] flag-o-matic.eclass: bugfix for get-flag() Date: Sun, 15 May 2016 15:31:29 +0200 Message-Id: <1463319089-18877-1-git-send-email-dev.rindeal@gmail.com> X-Mailer: git-send-email 2.7.3 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Archives-Salt: c0baa1da-f4e5-43b7-9c0e-432f9a1d393d X-Archives-Hash: 44c58b902bb0fcfb7bd1c94dea7fbb00 - fix case: - `CFLAGS='-O1 -O2'` - `get-flag '-O*'` - before `-O1` - now `-O2` - fix case: - `CFLAGS='-W1,-O1'` - `get-flag '-O*'` - before `-W1,O1` - now return 1 `get-flag march` == "i686" syntax still works. --- eclass/flag-o-matic.eclass | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index e0b19e9..f670320 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -535,7 +535,7 @@ strip-unsupported-flags() { # @DESCRIPTION: # Find and echo the value for a particular flag. Accepts shell globs. get-flag() { - local f var findflag="$1" + local var findflag="${1}" # this code looks a little flaky but seems to work for # everything we want ... @@ -543,11 +543,16 @@ get-flag() { # `get-flag -march` == "-march=i686" # `get-flag march` == "i686" for var in $(all-flag-vars) ; do - for f in ${!var} ; do - if [ "${f/${findflag}}" != "${f}" ] ; then - printf "%s\n" "${f/-${findflag}=}" + # reverse loop + set -- ${!var} + local i=$# + while [ $i -gt 0 ] ; do + local f="${!i}" + if [ "${f#-${findflag#-}}" != "${f}" ] ; then + printf "%s\n" "${f#-${findflag}=}" return 0 fi + ((i--)) done done return 1 -- 2.7.3