diff options
| author | fukachan <fukachan> | 2003-03-14 06:53:00 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2003-03-14 06:53:00 +0000 |
| commit | cca71302c1489418d7d350bfdf815b310ccda34a (patch) | |
| tree | 746772d15a868eefe44b1df9d59f530a07890793 /fml/lib/FML/Header | |
| parent | 15af1e02e9f101f9d7b8379a487bdad07a2b4b8b (diff) | |
| download | fml8-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.pm | 37 |
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 ''; + } } |
