summaryrefslogtreecommitdiff
path: root/fml/lib/FML/Header
diff options
context:
space:
mode:
authorfukachan <fukachan>2003-03-14 06:53:00 +0000
committerfukachan <fukachan>2003-03-14 06:53:00 +0000
commitcca71302c1489418d7d350bfdf815b310ccda34a (patch)
tree746772d15a868eefe44b1df9d59f530a07890793 /fml/lib/FML/Header
parent15af1e02e9f101f9d7b8379a487bdad07a2b4b8b (diff)
downloadfml8-cca71302c1489418d7d350bfdf815b310ccda34a.tar.gz
fml8-cca71302c1489418d7d350bfdf815b310ccda34a.tar.bz2
fml8-cca71302c1489418d7d350bfdf815b310ccda34a.zip
validate input
Diffstat (limited to 'fml/lib/FML/Header')
-rw-r--r--fml/lib/FML/Header/Subject.pm37
1 files changed, 22 insertions, 15 deletions
diff --git a/fml/lib/FML/Header/Subject.pm b/fml/lib/FML/Header/Subject.pm
index caac11e0..539c70c7 100644
--- a/fml/lib/FML/Header/Subject.pm
+++ b/fml/lib/FML/Header/Subject.pm
@@ -4,7 +4,7 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: Subject.pm,v 1.36 2003/01/11 16:05:16 fukachan Exp $
+# $FML: Subject.pm,v 1.37 2003/01/28 08:58:22 fukachan Exp $
#
package FML::Header::Subject;
@@ -118,9 +118,11 @@ sub decode
# for example, ml_name = elena
# if $tag has special regexp such as \U$ml_name\E or \L$ml_name\E
- if ($tag =~ /\\E/o && $tag =~ /\\U|\\L/o) {
- eval qq{ \$tag = "$tag";};
- Log($@) if $@;
+ if (defined $tag) {
+ if ($tag =~ /\\E/o && $tag =~ /\\U|\\L/o) {
+ eval qq{ \$tag = "$tag";};
+ Log($@) if $@;
+ }
}
# XXX-TODO: care for not Japanese !
@@ -198,19 +200,24 @@ sub _regexp_compile
{
my ($s) = @_;
- $s = quotemeta( $s );
- $s =~ s@\\\%@\%@g;
- $s =~ s@\%s@\\S+@g;
- $s =~ s@\%d@\\d+@g;
- $s =~ s@\%0\d+d@\\d+@g;
- $s =~ s@\%\d+d@\\d+@g;
- $s =~ s@\%\-\d+d@\\d+@g;
+ if (defined $s) {
+ $s = quotemeta( $s );
+ $s =~ s@\\\%@\%@g;
+ $s =~ s@\%s@\\S+@g;
+ $s =~ s@\%d@\\d+@g;
+ $s =~ s@\%0\d+d@\\d+@g;
+ $s =~ s@\%\d+d@\\d+@g;
+ $s =~ s@\%\-\d+d@\\d+@g;
- # quote for regexp substitute: [ something ] -> \[ something \]
- # $s =~ s/^(.)/quotemeta($1)/e;
- # $s =~ s/(.)$/quotemeta($1)/e;
+ # quote for regexp substitute: [ something ] -> \[ something \]
+ # $s =~ s/^(.)/quotemeta($1)/e;
+ # $s =~ s/(.)$/quotemeta($1)/e;
- return $s;
+ return $s;
+ }
+ else {
+ return '';
+ }
}