From b8f4b1fa146650fc9ff6c47be80e1f5a34863a9f Mon Sep 17 00:00:00 2001 From: Mark Tompsett Date: Sun, 2 Sep 2012 20:46:03 +0800 Subject: [PATCH] Bug 8175 - check logs error or displays incorrectly in details.pl Changed "$item->{'materials'} ne ''" to "defined($item->{'materials'}) && $item->{'materials'} =~ /\S/" in if condition to prevent error when it is NULL, and to properly capture the intent of printing if there is something visible. Cases tested include NULL, '0', '', ' ', and 'blah' by using UPDATE items SET materials=NULL where biblionumber=19158; where the biblionumber was chosen randomly, because only NULL was in the items.materials field. The NULL case triggers an error, but it does display correctly. The ' ' case displays an apparently empty column, which does not seem to be the intent of the flag that is being set. This is why a simple $var check is not sufficient. Signed-off-by: Jonathan Druart Signed-off-by: Paul Poulain --- catalogue/detail.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/catalogue/detail.pl b/catalogue/detail.pl index c3a29b3d21..67e9c9962f 100755 --- a/catalogue/detail.pl +++ b/catalogue/detail.pl @@ -263,7 +263,7 @@ foreach my $item (@items) { $analytics_flag=1; $item->{countanalytics} = $countanalytics; } - if ($item->{'materials'} ne ''){ + if (defined($item->{'materials'}) && $item->{'materials'} =~ /\S/){ $materials_flag = 1; } push @itemloop, $item; -- 2.39.5