Handle null-or-empty to Charset::StripNonXmlChars
authorJ. David Bavousett <dbavousett@ptfs.com>
Thu, 10 Sep 2009 15:10:50 +0000 (11:10 -0400)
committerGalen Charlton <gmcharlt@gmail.com>
Sat, 12 Sep 2009 12:42:11 +0000 (08:42 -0400)
When rebuild_zebra.pl is run from cron, there is an occasional error
of the form:

Use of uninitialized value $str in substitution (s///) at /home/ebpl/kohaclone/C4/Charset.pm line 304.

This error is occuring when the string that is fed to Charset::StripNonXmlChars
is null or undefined, for some reason.

This fix will handle the null-or-empty condition, and thus suppress the error.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
C4/Charset.pm

index bbeef24..65da33a 100644 (file)
@@ -301,6 +301,9 @@ to work, at the possible risk of some data loss.
 
 sub StripNonXmlChars {
     my $str = shift;
+    if (!defined($str) || $str eq ""){
+        return "";
+    }
     $str =~ s/[^\x09\x0A\x0D\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}]//g;
     return $str;
 }