[Koha-patches] [PATCH] Bug 16848: Prevent invalid warning to be carped from output_pref
Srdjan
srdjan at catalyst.net.nz
Wed Jul 6 04:51:39 CEST 2016
From: Jonathan Druart <jonathan.druart at bugs.koha-community.org>
>From Koha::DateUtils::output_pref:
$dt = eval { dt_from_string( $str ) } if $str;
carp "Invalid date '$str' passed to output_pref\n" if $@;
This second line is wrong: if $str does not exist, the first line is not evaluated and $@ could be filled with previous error.
To reproduce:
Then:
prove t/DateUtils.t
will display:
t/DateUtils.t .. 20/60 Use of uninitialized value $str in concatenation (.) or string at Koha/DateUtils.pm line 217.
Invalid date '' passed to output_pref
at t/DateUtils.t line 233.
t/DateUtils.t .. ok
All tests successful.
Files=1, Tests=60, 2 wallclock secs ( 0.02 usr 0.00 sys + 1.40 cusr 0.00 csys = 1.42 CPU)
Result: PASS
Test plan:
Without this patch, you should not see the carp
Signed-off-by: Srdjan <srdjan at catalyst.net.nz>
---
Koha/DateUtils.pm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/Koha/DateUtils.pm b/Koha/DateUtils.pm
index 6207cc1..51d3d93 100644
--- a/Koha/DateUtils.pm
+++ b/Koha/DateUtils.pm
@@ -213,8 +213,11 @@ sub output_pref {
and return
if $dt and $str;
- $dt = eval { dt_from_string( $str ) } if $str;
- carp "Invalid date '$str' passed to output_pref\n" if $@;
+ if ( $str ) {
+ local $@;
+ $dt = eval { dt_from_string( $str ) };
+ carp "Invalid date '$str' passed to output_pref\n" if $@;
+ }
return unless defined $dt;
--
2.7.4
More information about the Koha-patches
mailing list