Re: [PATCH v2 2/4] scripts/kernel-doc: Replacing highlights hash by an array

From: Danilo Cesar Lemes de Paula
Date: Tue Nov 17 2015 - 10:57:31 EST



On 17-11-2015 13:29, Mauro Carvalho Chehab wrote:
> Em Tue, 17 Nov 2015 07:44:31 -0700
> Jonathan Corbet <corbet@xxxxxxx> escreveu:
>
>> On Tue, 17 Nov 2015 08:40:46 -0200
>> Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> wrote:
>>
>>> The above causes some versions of perl to fail, as keys expect a
>>> hash argument:
>>>
>>> Execution of .//scripts/kernel-doc aborted due to compilation errors.
>>> Type of arg 1 to keys must be hash (not private array) at .//scripts/kernel-doc line 2714, near "@highlights) "
>>>
>>> This is happening at linuxtv.org server, with runs perl version 5.10.1.
>>
>> OK, that's not good. But I'm not quite sure what to do about it.
>>
>> Perl 5.10.1 is a little over six years old. Nobody else has complained
>> (yet) about this problem. So it might be best to "fix" this with a
>> minimum version added to the Changes file.
>>
>> Or maybe we need to revert the patch.
>>
>> So I'm far from a Perl expert, so I have no clue what the minimum version
>> would be if we were to say "5.10.1 is too old." I don't suppose anybody
>> out there knows?
>
> I'm also not a Perl expert, and never saw before the usage of "keys" on
> an array. Yet, according with:
> http://perldoc.perl.org/functions/keys.html
>
> "in Perl 5.12 or later only, the indices of an array"
>
> If so, then maybe we could replace:
> foreach my $k (keys @highlights)
>
> by a more C style variant, with all versions of perl 5:
> for (my $k = 0; $k < @highlights; $k++) {
>
> The enclosed patch should do the trick. I tested it with perl 5.10 and
> perl 5.22 it worked fine with both versions.

I'm Not a perl guru myself either =/.

But thanks for fixing it Mauro!

Danilo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/