summaryrefslogtreecommitdiff
path: root/utils/h2ph.PL
diff options
context:
space:
mode:
Diffstat (limited to 'utils/h2ph.PL')
-rw-r--r--utils/h2ph.PL10
1 files changed, 8 insertions, 2 deletions
diff --git a/utils/h2ph.PL b/utils/h2ph.PL
index eaa019a287..c5cc185dd4 100644
--- a/utils/h2ph.PL
+++ b/utils/h2ph.PL
@@ -380,10 +380,16 @@ sub expr {
};
# Eliminate typedefs
/\(([\w\s]+)[\*\s]*\)\s*[\w\(]/ && do {
+ my $doit = 1;
foreach (split /\s+/, $1) { # Make sure all the words are types,
- last unless ($isatype{$_} or $_ eq 'struct' or $_ eq 'union');
+ unless($isatype{$_} or $_ eq 'struct' or $_ eq 'union'){
+ $doit = 0;
+ last;
+ }
+ }
+ if( $doit ){
+ s/\([\w\s]+[\*\s]*\)// && next; # then eliminate them.
}
- s/\([\w\s]+[\*\s]*\)// && next; # then eliminate them.
};
# struct/union member, including arrays:
s/^([_A-Z]\w*(\[[^\]]+\])?((\.|->)[_A-Z]\w*(\[[^\]]+\])?)+)//i && do {