diff options
-rw-r--r-- | utils/h2ph.PL | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/utils/h2ph.PL b/utils/h2ph.PL index 2e1c499e55..c6a39c9bb6 100644 --- a/utils/h2ph.PL +++ b/utils/h2ph.PL @@ -302,14 +302,17 @@ while (defined (my $file = next_file())) { "unless defined(\&$enum_name);\n"); } } - } elsif (/^(?:__extension__\s+)?(?:extern|static)\s+(?:__)?inline(?:__)?\s+/) { # { for vi + } elsif (/^(?:__extension__\s+)?(?:extern|static)\s+(?:__)?inline(?:__)?\s+/ + and !/;\s*$/ and !/{\s*}\s*$/) + { # { for vi # This is a hack to parse the inline functions in the glibc headers. - # Warning: massive kludge ahead. We suppose inline functions are mainly - # constructed like macros. + # Warning: massive kludge ahead. We suppose inline functions + # are mainly constructed like macros. while (1) { last unless defined ($next = next_line($file)); chomp $next; - undef $_, last if $next =~ /__THROW\s*;/; + undef $_, last if $next =~ /__THROW\s*;/ + or $next =~ /^(__extension__|extern|static)\b/; $_ .= " $next"; print OUT "# $next\n" if $opt_D; last if $next =~ /^}|^{.*}\s*$/; |