From fa288ab5a7303628e01046286c9e51aea7d6a912 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Mon, 2 May 2016 12:26:44 +0200 Subject: [PATCH] [PASSED QA] Bug 16412: Cache undef in L1 only No need to cache undef in L2. Prevent numerous warnings like: Use of uninitialized value in subroutine entry at /usr/share/koha/masterclone/Koha/Cache.pm line 284 Test plan: Run t/Cache.t Run t/db_dependent/sysprefs.t Signed-off-by: Jonathan Druart Amended patch: remove trailing space char and replace 'you' with 'we' to match existing wordings. Signed-off-by: Katrin Fischer --- Koha/Cache.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Koha/Cache.pm b/Koha/Cache.pm index 6f10b00..6b41e3c 100644 --- a/Koha/Cache.pm +++ b/Koha/Cache.pm @@ -271,10 +271,11 @@ sub set_in_cache { # Deep copy if it's not a scalar and unsafe is not passed $value = dclone( $value ) if ref($value) and not $unsafe; - # Set in L1 cache + # Set in L1 cache; exit if we are caching an undef $L1_cache{ $key } = $value; + return if !defined $value; - # We consider an expiry of 0 to be inifinite + # We consider an expiry of 0 to be infinite if ( $expiry ) { return $set_sub ? $set_sub->( $key, $value, $expiry ) -- 1.9.1