Change 33835 by [EMAIL PROTECTED] on 2008/05/16 12:47:33
Subject: [PATCH] h2ph: allow the quote mark delimiter when chasing
#include directives with "-a"
From: Niko Tyni <[EMAIL PROTECTED]>
Date: Thu, 15 May 2008 23:15:35 +0300
Message-Id: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/utils/h2ph.PL#57 edit
Differences ...
==== //depot/perl/utils/h2ph.PL#57 (text) ====
Index: perl/utils/h2ph.PL
--- perl/utils/h2ph.PL#56~30660~ 2007-03-21 06:32:22.000000000 -0700
+++ perl/utils/h2ph.PL 2008-05-16 05:47:33.000000000 -0700
@@ -85,7 +85,7 @@
}
my ($t, $tab, %curargs, $new, $eval_index, $dir, $name, $args, $outfile);
-my ($incl, $incl_type, $next);
+my ($incl, $incl_type, $incl_quote, $next);
while (defined (my $file = next_file())) {
if (-l $file and -d $file) {
link_if_possible($file) if ($opt_l);
@@ -186,9 +186,10 @@
print OUT $t,"unless(defined(\&$name)) {\n sub $name
() {\t",$new,";}\n}\n";
}
}
- } elsif (/^(include|import|include_next)\s*[<\"](.*)[>\"]/) {
+ } elsif (/^(include|import|include_next)\s*([<\"])(.*)[>\"]/) {
$incl_type = $1;
- $incl = $2;
+ $incl_quote = $2;
+ $incl = $3;
if (($incl_type eq 'include_next') ||
($opt_e && exists($bad_file{$incl}))) {
$incl =~ s/\.h$/.ph/;
@@ -221,6 +222,10 @@
"warn(\$\@) if \$\@;\n");
} else {
$incl =~ s/\.h$/.ph/;
+ # copy the prefix in the quote syntax (#include "x.h") case
+ if ($incl !~ m|/| && $incl_quote eq q{"} && $file =~
m|^(.*)/|) {
+ $incl = "$1/$incl";
+ }
print OUT $t,"require '$incl';\n";
}
} elsif (/^ifdef\s+(\w+)/) {
@@ -724,8 +729,13 @@
$line .= <HEADER>;
}
- if ($line =~ /^#\s*include\s+<(.*?)>/) {
- push(@ARGV, $1) unless $Is_converted{$1};
+ if ($line =~ /^#\s*include\s+([<"])(.*?)[>"]/) {
+ my ($delimiter, $new_file) = ($1, $2);
+ # copy the prefix in the quote syntax (#include "x.h") case
+ if ($delimiter eq q{"} && $file =~ m|^(.*)/|) {
+ $new_file = "$1/$new_file";
+ }
+ push(@ARGV, $new_file) unless $Is_converted{$new_file};
}
}
close HEADER;
End of Patch.