maint, Win32, GCC 3.2
Mattia Barbon [Sat, 2 Aug 2003 10:31:07 +0000 (12:31 +0200)]
Message-ID: <Mahogany-0.64.2-624-20030802-103107.00@rbnet.it>

p4raw-id: //depot/perl@20469

ext/Errno/Errno_pm.PL

index 41560d5..22171fa 100644 (file)
@@ -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);
     }