From 8ddec9121143038a7da6735254f9447d24e830a8 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Thu, 8 Sep 2022 14:13:36 +0000 Subject: [PATCH] Bug 31535: Fix warning - uninitialized value in string ne (MARCdetail.pl) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Spotted at line 183 (older Koha version). Test plan: You need a NULL in the tab column of marc_subfield_structure. Hit this page and check the logs. This might convince you easier: my $tabloop=0; my $x; print "Empty string - True\n" if ( $x // q{} ) ne $tabloop; print "Zero - True\n" if ( $x // '0' ) ne $tabloop; You should only see: Empty string - True proving that defaulting to '0' would be a game changer. Signed-off-by: Marcel de Rooy Signed-off-by: Joonas Kylmälä Signed-off-by: Tomas Cohen Arazi --- catalogue/MARCdetail.pl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/catalogue/MARCdetail.pl b/catalogue/MARCdetail.pl index 92ec114109..3f5e03a090 100755 --- a/catalogue/MARCdetail.pl +++ b/catalogue/MARCdetail.pl @@ -183,10 +183,7 @@ for ( my $tabloop = 0 ; $tabloop <= 10 ; $tabloop++ ) { # loop through each subfield for my $i ( 0 .. $#subf ) { $subf[$i][0] = "@" unless defined $subf[$i][0]; - next - if ( - $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }->{tab} - ne $tabloop ); + next if ( $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }->{tab} // q{} ) ne $tabloop; # Note: defaulting to '0' changes behavior! next if ( $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] } ->{hidden} =~ /-7|-4|-3|-2|2|3|5|8/); -- 2.39.5