summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-05-03 23:15:29 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-05-03 23:15:29 +0000
commita4496121a78351746297335008da0bef57daea1c (patch)
tree3eb8af45c31e67137cebf3bdde94e6b0c6d1b89c /ext
parent9285d2f359ab5c3d5e3b07ad8a14ca6b14086dd9 (diff)
parent0f43fc9088ef519f8bd95cf48e852a436508c605 (diff)
downloadperl-a4496121a78351746297335008da0bef57daea1c.tar.gz
Integrate perlio:
[ 9976] Allow $answer = encode($object,$text); like it says in docs. [ 9975] Fix latin1 etc. alias code - (bit rot?) - the @latin2iso array now seems to need to be in scope (fair enough), and also a package variable (our) for eval to see it. p4raw-link: @9976 on //depot/perlio: 0f43fc9088ef519f8bd95cf48e852a436508c605 p4raw-link: @9975 on //depot/perlio: 6d6a7c8da03005f2939b162fdb831faae6901085 p4raw-id: //depot/perl@9980
Diffstat (limited to 'ext')
-rw-r--r--ext/Encode/Encode.pm10
1 files changed, 7 insertions, 3 deletions
diff --git a/ext/Encode/Encode.pm b/ext/Encode/Encode.pm
index 9bdc041784..49e2d1eef5 100644
--- a/ext/Encode/Encode.pm
+++ b/ext/Encode/Encode.pm
@@ -42,6 +42,9 @@ use Carp;
our %encoding;
my @alias; # ordered matching list
my %alias; # cached known aliases
+ # 0 1 2 3 4 5 6 7 8 9 10
+our @latin2iso_num = ( 0, 1, 2, 3, 4, 9, 10, 13, 14, 15, 16 );
+
sub encodings
{
@@ -60,7 +63,6 @@ sub findAlias
my $alias = $alias[$i];
my $val = $alias[$i+1];
my $new;
-
if (ref($alias) eq 'Regexp' && $_ =~ $alias)
{
$new = eval $val;
@@ -101,8 +103,6 @@ sub define_alias
define_alias( qr/^iso[-_]?(\d+)[-_](\d+)$/i => '"iso-$1-$2"' );
# Allow latin-1 style names as well
- # 0 1 2 3 4 5 6 7 8 9 10
-my @latin2iso_num = ( 0, 1, 2, 3, 4, 9, 10, 13, 14, 15, 16 );
define_alias( qr/^latin[-_]?(\d+)$/i => '"iso-8859-$latin2iso_num[$1]"' );
# Common names for non-latin prefered MIME names
@@ -136,6 +136,10 @@ sub getEncoding
{
my ($class,$name) = @_;
my $enc;
+ if (ref($name) && $name->can('new_sequence'))
+ {
+ return $name;
+ }
if (exists $encoding{$name})
{
return $encoding{$name};