summaryrefslogtreecommitdiff
path: root/regcomp.pl
diff options
context:
space:
mode:
Diffstat (limited to 'regcomp.pl')
-rw-r--r--regcomp.pl12
1 files changed, 9 insertions, 3 deletions
diff --git a/regcomp.pl b/regcomp.pl
index 17472cc811..defbb5f785 100644
--- a/regcomp.pl
+++ b/regcomp.pl
@@ -197,11 +197,17 @@ EOP
open my $fh,"<","regexp.h" or die "Can't read regexp.h: $!";
my %rxfv;
-my $val;
+my $val = 0;
+my %reverse;
while (<$fh>) {
if (/#define\s+(RXf_\w+)\s+(0x[A-F\d]+)/i) {
- $rxfv{$1}= eval $2;
- $val|=$rxfv{$1};
+ my $newval = eval $2;
+ if($val & $newval) {
+ die sprintf "Both $1 and $reverse{$newval} use %08X", $newval;
+ }
+ $val|=$newval;
+ $rxfv{$1}= $newval;
+ $reverse{$newval} = $1;
}
}
my %vrxf=reverse %rxfv;