* David Miller <davem@xxxxxxxxxxxxx> wrote: > From: "Ian Munsie" <imunsie@xxxxxxxxxxx> > Date: Tue, 13 Apr 2010 18:37:33 +1000 > > > From: Ian Munsie <imunsie@xxxxxxxxxx> > > > > Parsing an option from the command line with OPT_BOOLEAN on a bool data > > type would not work on a big-endian machine due to the manner in which > > the boolean was being cast into an int and incremented. For example, > > running 'perf probe --list' on a PowerPC machine would fail to properly > > set the list_events bool and would therefore print out the usage > > information and terminate. > > > > This patch makes OPT_BOOLEAN work as expected with a bool datatype. For > > cases where the original OPT_BOOLEAN was intentionally being used to > > increment an int each time it was passed in on the command line, this > > patch introduces OPT_INCR with the old behaviour of OPT_BOOLEAN (the > > verbose variable is currently the only such example of this). > > > > I have reviewed every use of OPT_BOOLEAN to verify that a true C99 bool > > was passed. Where integers were used, I verified that they were only > > being used for boolean logic and changed them to bools to ensure that > > they would not be mistakenly used as ints. The major exception was the > > verbose variable which now uses OPT_INCR instead of OPT_BOOLEAN. > > > > Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxx> > > Thanks for finding and fixing this bug. Nice fix! Btw., perf got the option parser from the Git project - i'm wondering how the Git folks solved this endianness problem? Ingo -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html