Wireshark-dev: Re: [Wireshark-dev] checkhf.pl fails only on pre-commit hook

Date: Sat, 5 Apr 2014 08:07:40 -0400 (EDT)
Many thanks!  Fix was committed in https://code.wireshark.org/review/#/c/971/
 
(Still not sure of the "why" it failed , but I'll gladly take this solution)
-----Original Message-----
From: Hadriel Kaplan <hadriel.kaplan@xxxxxxxxxx>
To: Developer support list for Wireshark <wireshark-dev@xxxxxxxxxxxxx>
Sent: Fri, Apr 4, 2014 11:56 pm
Subject: Re: [Wireshark-dev] checkhf.pl fails only on pre-commit hook


Ugh, forgot the "defined". So this:

    for my $k (sort keys %{$href}) {
        my $h = defined($href->{$k}) ?  $href->{$k} : "undef";
        printf "%-40.40s %5.5s %s\n", $title, $h, $k;
    }


On Apr 4, 2014, at 11:49 PM, Hadriel Kaplan <hadriel.kaplan@xxxxxxxxxx> wrote:

> 
> Change this at line 563 in checkhf.pl:
> 
>    for my $k (sort keys %{$href}) {
>        printf "%-40.40s %5.5s %s\n", $title, $href->{$k} // "undef", $k;
>    }
> 
> to this:
> 
>    for my $k (sort keys %{$href}) {
>        my $h = ($href->{$k}) ?  $href->{$k} : "undef";
>        printf "%-40.40s %5.5s %s\n", $title, $h, $k;
>    }
> 
> It's infinitesimally worse performance, but it's perl so that hardly matters.
> ;)
> 
> -hadriel
> 
> 
> On Apr 4, 2014, at 11:42 PM, Hadriel Kaplan <hadriel.kaplan@xxxxxxxxxx> wrote:
> 
>> 
>> What version of Perl do you have?  I think that line 564's logical-or only 
became available in Perl 5.10.
>> 
>> (it's not a regex search, but a ternary conditional-or apparently, because, 
ya know... Perl can't possibly have only 20 ways of doing something when it 
could instead have 21 ways... and at the same time get the bonus of re-using 
common character syntax used for completely different purposes; otherwise what 
fun would Perl be if it were easy to debug?)
>> 
>> -hadriel
>> 
>> 
>> On Apr 4, 2014, at 11:35 PM, Hadriel Kaplan <hadriel.kaplan@xxxxxxxxxx> 
wrote:
>> 
>>> 
>>> On Apr 4, 2014, at 11:26 PM, Hadriel Kaplan <hadriel.kaplan@xxxxxxxxxx> 
wrote:
>>> 
>>>> I barely know perl, but checkhf.pl line 564 does indeed look bogus to me. 
(the double slashes are what it thinks is starting a regex search pattern that's 
not terminated I believe)
>>> 
>>> Actually, no it's fine. I don't know why your computer's choking on it.
>>> 
>>> I even tried running it with the debug option for all the valid numbers and 
it's working fine for me.
>>> 
>>> Weird.
>>> 
>>> 
>>>> Having said that, that function shouldn't be being called/invoked, afaict.  
It's only supposed to be invoked if the command to run that script uses a 
"--debug=<number>" or "-d <number>" option I think. And the pre-commit script 
does not do that. Unless $FILE is somehow a string that appears to be that 
option?  Try putting a 'echo $FILE' in the pre-commit script before the 
"./tools/checkhf.pl $FILE" line and see what it's printing out when you do 'git 
commit'.  Maybe something weird is going on with the 'git diff-index ... | grep 
...' result?
>>>> 
>>>> -hadriel
>>>> 
>>>> ___________________________________________________________________________
>>>> Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
>>>> Archives:    http://www.wireshark.org/lists/wireshark-dev
>>>> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>>>>          mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
>>> 
>>> ___________________________________________________________________________
>>> Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
>>> Archives:    http://www.wireshark.org/lists/wireshark-dev
>>> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>>>           mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
>> 
>> ___________________________________________________________________________
>> Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
>> Archives:    http://www.wireshark.org/lists/wireshark-dev
>> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>>            mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
> 
> ___________________________________________________________________________
> Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
> Archives:    http://www.wireshark.org/lists/wireshark-dev
> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe