summaryrefslogtreecommitdiff
path: root/Porting/regcharclass.pl
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2007-07-19 12:09:32 +0000
committerYves Orton <demerphq@gmail.com>2007-07-19 12:09:32 +0000
commitdda856b2f3baa3a5da0bd1d25218e6eab7f0eb2d (patch)
treefe9fe75f967b6f158d7995380690a076e1ab5251 /Porting/regcharclass.pl
parentdcd079400e6b410586048355b9496c6b06ca4f1b (diff)
downloadperl-dda856b2f3baa3a5da0bd1d25218e6eab7f0eb2d.tar.gz
Change Porting/regcharclass.pl so it doesn't depend on unpack 'U0C*'
Includes an updated regcharclass.h without datestamp in it so when it is trivially rebuilt it doesnt change in terms of contents. p4raw-id: //depot/perl@31636
Diffstat (limited to 'Porting/regcharclass.pl')
-rw-r--r--Porting/regcharclass.pl9
1 files changed, 7 insertions, 2 deletions
diff --git a/Porting/regcharclass.pl b/Porting/regcharclass.pl
index b90a65181c..2d900393e4 100644
--- a/Porting/regcharclass.pl
+++ b/Porting/regcharclass.pl
@@ -133,7 +133,9 @@ sub __uni_latin1 {
my $copy= $str; # must copy string, FB_CROAK makes encode destructive
$u= eval { Encode::encode( "utf8", $copy, Encode::FB_CROAK ) };
- $u= [ unpack "U0C*", $u ] if $u;
+ # $u is utf8 but with the utf8 flag OFF
+ # therefore "C*" gets us the values of the bytes involved.
+ $u= [ unpack "C*", $u ] if defined $u;
}
return ( \@cp, $n, $l, $u );
}
@@ -252,6 +254,8 @@ sub new {
my ( $cp, $low, $latin1, $utf8 )= __uni_latin1( $str );
my $UTF8= $low || $utf8;
my $LATIN1= $low || $latin1;
+ #die Dumper($txt,$cp,$low,$latin1,$utf8)
+ # if $txt=~/NEL/ or $utf8 and @$utf8>3;
@{ $self->{strs}{$str} }{qw( str txt low utf8 latin1 cp UTF8 LATIN1 )}=
( $str, $txt, $low, $utf8, $latin1, $cp, $UTF8, $LATIN1 );
@@ -641,8 +645,9 @@ if ( !caller ) {
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
* This file is built by Porting/$zero.
- * (Generated at: @{[ scalar gmtime ]} GMT)
+ *
* Any changes made here will be lost!
+ *
*/
HEADER