bugfix error if memcached_servers is empty in koha-conf.xml
authorMichael Hafen <mdhafen@tech.washk12.org>
Wed, 26 Aug 2009 22:43:59 +0000 (16:43 -0600)
committerGalen Charlton <gmcharlt@gmail.com>
Mon, 31 Aug 2009 01:55:15 +0000 (21:55 -0400)
XML::Simple returns by default an empty hash ref if it encounters an xml tag
with no attributes or content.  If memcached_servers is empty, as the installer
sets it when this feature is disabled, then we get the empty hash ref.

In checking if memcached_servers is set the empty hash ref evaluates as true.
I.E.

  $servers = C4::Context->config('memcached_servers');
  if ($servers) {

so we get a comiler error from memcached trying to resolve the nonexistant
server address.

C4/Context.pm

index 4dab9a9..99019ea 100644 (file)
@@ -233,7 +233,7 @@ Returns undef in case of error.
 =cut
 
 sub read_config_file {         # Pass argument naming config file to read
-    my $koha = XMLin(shift, keyattr => ['id'], forcearray => ['listen', 'server', 'serverinfo']);
+    my $koha = XMLin(shift, keyattr => ['id'], forcearray => ['listen', 'server', 'serverinfo'], suppressempty => '');
     return $koha;                      # Return value: ref-to-hash holding the configuration
 }