From mboxrd@z Thu Jan 1 00:00:00 1970 From: david.goulet@polymtl.ca (David Goulet) Date: Wed, 22 Sep 2010 10:09:24 -0400 Subject: [ltt-dev] [UST PATCH] Fix bug in test_functions.sh In-Reply-To: References: <1285070044-5376-1-git-send-email-nils.carlson@ericsson.com> <4C98ACE3.6050309@polymtl.ca> <2A493647-CE5E-445A-AAE2-BFEB29EEE7EA@ludd.ltu.se> Message-ID: <4C9A0E14.4020301@polymtl.ca> Yes you are right... Same problem here even with the shift optind-1... Well, we are sure that on Debian AND Ubuntu, it's a problem so I guess this patch is *very* useful ;) Cheers David On 10-09-22 02:58 AM, Nils Carlson wrote: > Getting weirder and weirder... > > This test fails on two of my machines: > > #!/bin/bash > > function optind_test() { > > while getopts "a:b:c:" flag; do > case $flag in > a) echo $OPTARG;; > b) echo $OPTARG;; > c) echo $OPTARG;; > esac > done > } > > optind_test -a hi -b thats nice > optind_test -c whats > echo ------ > > > Adding a "local OPTIND=" after the function line makes everything work, > but it shouldn't fail. According to POSIX OPTIND should be function > local already. > > /Nils > > > On Tue, 21 Sep 2010, Nils Carlson wrote: > >> On Sep 21, 2010, at 3:02 PM, David Goulet wrote: >> >>> Hey Nils, >>> >>> I don't understand here why you need to specify OPTIND as local. >>> Isn't a global variable set by getops only used in the while loop.. >> >> Thought so too... but it didn't behave that way on my machine. >> >> It's possible this is an issue with debian testing though. I'll try to >> check on ubuntu at home. >> >> /Nils >> >> >>> Thanks >>> David >>> >>> On 10-09-21 07:54 AM, Nils Carlson wrote: >>>> As we were playing with OPTIND we managed to match the same >>>> thing multiple times. Maybe make this more elegant in the >>>> future. >>>> >>>> Signed-off-by: Nils Carlson >>>> --- >>>> tests/test_functions.sh | 1 + >>>> 1 files changed, 1 insertions(+), 0 deletions(-) >>>> >>>> diff --git a/tests/test_functions.sh b/tests/test_functions.sh >>>> index d27a734..40d4d89 100644 >>>> --- a/tests/test_functions.sh >>>> +++ b/tests/test_functions.sh >>>> @@ -40,6 +40,7 @@ function check_trace_logs() { >>>> >>>> >>>> function trace_matches() { >>>> + local OPTIND= >>>> >>>> RUNLTTV=~/devel/lttv/runlttv >>>> >>> >>> -- >>> David Goulet >>> LTTng project, DORSAL Lab. >>> >>> PGP/GPG : 1024D/16BD8563 >>> BE3C 672B 9331 9796 291A 14C6 4AF7 C14B 16BD 8563 >>> >>> _______________________________________________ >>> ltt-dev mailing list >>> ltt-dev at lists.casi.polymtl.ca >>> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev >> >> -- David Goulet LTTng project, DORSAL Lab. PGP/GPG : 1024D/16BD8563 BE3C 672B 9331 9796 291A 14C6 4AF7 C14B 16BD 8563