You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2006/11/13 13:18:36 UTC

svn commit: r474276 - /spamassassin/trunk/lib/Mail/SpamAssassin/Util/TieOneStringHash.pm

Author: jm
Date: Mon Nov 13 04:18:36 2006
New Revision: 474276

URL: http://svn.apache.org/viewvc?view=rev&rev=474276
Log:
return real undef values instead of our magic token; require defined keys

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Util/TieOneStringHash.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Util/TieOneStringHash.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Util/TieOneStringHash.pm?view=diff&rev=474276&r1=474275&r2=474276
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Util/TieOneStringHash.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Util/TieOneStringHash.pm Mon Nov 13 04:18:36 2006
@@ -57,6 +57,9 @@
   if (ref $v) {
     croak "oops! only simple scalars can be stored in a TieOneStringHash";
   }
+  if (!defined $k) {
+    croak "oops! TieOneStringHash requires defined keys";
+  }
 
   if ($$store !~ s{\n\Q$k\E\000.*?\000\n}
                   {\n$k\000$v\000\n}xgs)
@@ -70,7 +73,7 @@
   my ($store, $k) = @_;
   if ($$store =~ m{\n\Q$k\E\000(.*?)\000\n}xs)
   {
-    return $1;
+    return $1 eq $UNDEF_VALUE ? undef : $1;
   }
   return;
 }
@@ -89,7 +92,7 @@
   if ($$store =~ s{\n\Q$k\E\000(.*?)\000\n}
                   {}xgs)
   {
-    return $1;
+    return $1 eq $UNDEF_VALUE ? undef : $1;
   }
   return;
 }