summaryrefslogtreecommitdiff
path: root/ext/Errno
diff options
context:
space:
mode:
authorMattia Barbon <mbarbon@dsi.unive.it>2003-08-02 12:31:07 +0200
committerJarkko Hietaniemi <jhi@iki.fi>2003-08-04 06:23:26 +0000
commit99228ec22de3d3407bfd2ef2153516707cceb96c (patch)
treea866ddf46b57716368c1534c7615f3f3c0fe3214 /ext/Errno
parent6239f2daa03877fbd4818ee3cd82a01a135ecb43 (diff)
downloadperl-99228ec22de3d3407bfd2ef2153516707cceb96c.tar.gz
maint, Win32, GCC 3.2
Message-ID: <Mahogany-0.64.2-624-20030802-103107.00@rbnet.it> p4raw-id: //depot/perl@20469
Diffstat (limited to 'ext/Errno')
-rw-r--r--ext/Errno/Errno_pm.PL10
1 files changed, 9 insertions, 1 deletions
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 41560d5672..22171fa36e 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -229,9 +229,17 @@ sub write_errno_pm {
my($name,$expr);
next unless ($name, $expr) = /"(.*?)"\s*\[\s*\[\s*(.*?)\s*\]\s*\]/;
next if $name eq $expr;
- $expr =~ s/(\d+)[LU]+\b/$1/g; # 2147483647L et alia
+ $expr =~ s/\(?\(\w+\)([^\)]*)\)?/$1/; # ((type)0xcafebabe) at alia
+ $expr =~ s/((?:0x)?[0-9a-fA-F]+)[LU]+\b/$1/g; # 2147483647L et alia
+ next if $expr =~ m/^[a-zA-Z]+$/; # skip some Win32 functions
+ if($expr =~ m/^0[xX]/) {
+ $err{$name} = hex $expr;
+ }
+ else {
$err{$name} = eval $expr;
}
+ delete $err{$name} unless defined $err{$name};
+ }
close(CPPO);
}