Perl-Toolchain-Gang / ExtUtils-MakeMaker

Perl module to make Makefiles and build modules (what backs Makefile.PL)
https://metacpan.org/release/ExtUtils-MakeMaker
64 stars 77 forks source link

Warning from lib/ExtUtils/Liblist/Kid.pm _unix_os2_ext #391

Closed atoomic closed 3 years ago

atoomic commented 3 years ago

steps to reproduce: run the test in 5.33.8

╰─> ( cd t; ./perl harness -v ../lib/ExtUtils/t/Embed.t; cd - )
Use of uninitialized value $thislib in substitution (s///) at ../lib/ExtUtils/Liblist/Kid.pm line 72, <DATA> line 53.
Use of uninitialized value $thislib in pattern match (m//) at ../lib/ExtUtils/Liblist/Kid.pm line 99, <DATA> line 53.
Use of uninitialized value $thislib in substitution (s///) at ../lib/ExtUtils/Liblist/Kid.pm line 106, <DATA> line 53.
Use of uninitialized value $thislib in concatenation (.) or string at ../lib/ExtUtils/Liblist/Kid.pm line 114, <DATA> line 53.
Unrecognized argument in LIBS ignored: ''

ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10 # system returned 0
ok
All tests successful.
Files=1, Tests=10,  1 wallclock secs ( 0.01 usr  0.00 sys +  0.23 cusr  0.09 csys =  0.33 CPU)
Result: PASS
~/workspace/perl5

Suggested fix:

diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
index 6aa76323cc..045ae3b052 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
@@ -68,6 +68,7 @@ sub _unix_os2_ext {
     foreach my $thislib ( Text::ParseWords::quotewords( '\s+', 0, $potential_libs) ) {
         my ( $custom_name ) = '';

+        next unless defined $thislib;
         # Handle possible linker path arguments.
         if ( $thislib =~ s/^(-[LR]|-Wl,-R|-Wl,-rpath,)// ) {    # save path flag type
             my ( $ptype ) = $1;

note: #390 was a first attempt, I let you fix it, the original patch was too late