[Koha-patches] [PATCH] bugfix error if memcached_servers is empty in koha-conf.xml

Michael Hafen mdhafen at tech.washk12.org
Wed Aug 26 23:45:06 CEST 2009


If memcached_servers is empty in koha-conf.xml
C4::Context->config('memcached_servers') returns an empty hash ref, which will
evaluate to true.  If memcached isn't in use and memcached_servers is left
empty in the config file (which is what the installer does), then the result is
a compiler error.

I.E.

$servers = {};  # This is what Context::Config returns
if ( $servers ) { "True" }
---
 C4/Biblio.pm    |    2 +-
 C4/Languages.pm |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/C4/Biblio.pm b/C4/Biblio.pm
index 04d404c..7992b4e 100644
--- a/C4/Biblio.pm
+++ b/C4/Biblio.pm
@@ -116,7 +116,7 @@ BEGIN {
 
 eval {
     my $servers = C4::Context->config('memcached_servers');
-    if ($servers) {
+    if ($servers && ref($servers) ne 'HASH') {
         require Memoize::Memcached;
         import Memoize::Memcached qw(memoize_memcached);
 
diff --git a/C4/Languages.pm b/C4/Languages.pm
index ab57614..1d0f41c 100644
--- a/C4/Languages.pm
+++ b/C4/Languages.pm
@@ -27,7 +27,7 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG);
 
 eval {
     my $servers = C4::Context->config('memcached_servers');
-    if ($servers) {
+    if ($servers && ref($servers) ne 'HASH') {
         require Memoize::Memcached;
         import Memoize::Memcached qw(memoize_memcached);
  
-- 
1.6.0.4




More information about the Koha-patches mailing list