From a41f187511060015bd06ae3cb5b30e95e9e36180 Mon Sep 17 00:00:00 2001 From: Kunal Mehta Date: Mon, 12 Sep 2016 21:23:09 -0700 Subject: [PATCH] MapCacheLRU: Support null values in getWithSetCallback() The rest of this class supports having a key with a null value by using array_key_exists() instead of isset(). So Use $this->has() in getWithSetCallback() so a null value is still identified as set. Change-Id: Ida74a6f7e284e98f9a7d76d97312ebe2ee343f10 --- includes/libs/MapCacheLRU.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/includes/libs/MapCacheLRU.php b/includes/libs/MapCacheLRU.php index 90c9a754a4..2f5a454f5d 100644 --- a/includes/libs/MapCacheLRU.php +++ b/includes/libs/MapCacheLRU.php @@ -115,8 +115,9 @@ class MapCacheLRU { * @return mixed The cached value if found or the result of $callback otherwise */ public function getWithSetCallback( $key, callable $callback ) { - $value = $this->get( $key ); - if ( $value === null ) { + if ( $this->has( $key ) ) { + $value = $this->get( $key ); + } else { $value = call_user_func( $callback ); if ( $value !== false ) { $this->set( $key, $value ); -- 2.20.1