summaryrefslogtreecommitdiff
path: root/utils/perlbug.PL
diff options
context:
space:
mode:
Diffstat (limited to 'utils/perlbug.PL')
-rw-r--r--utils/perlbug.PL9
1 files changed, 8 insertions, 1 deletions
diff --git a/utils/perlbug.PL b/utils/perlbug.PL
index c778c9c09b..8e648289bb 100644
--- a/utils/perlbug.PL
+++ b/utils/perlbug.PL
@@ -28,9 +28,15 @@ open PATCH_LEVEL, "<" . catfile(updir, "patchlevel.h")
or die "Can't open patchlevel.h: $!";
my $patchlevel_date = (stat PATCH_LEVEL)[9];
+my $patchnum = "";
while (<PATCH_LEVEL>) {
- last if $_ =~ /^\s*static\s+char.*?local_patches\[\]\s*=\s*{\s*$/;
+ $patchnum = $1 if /#define PERL_PATCHNUM\s+(\d+)/;
+ last if $_ =~ /^\s*static\s+(?:const\s+)?char.*?local_patches\[\]\s*=\s*{\s*$/;
+}
+
+if (! defined($_)) {
+ warn "Warning: local_patches section not found in patchlevel.h\n";
}
my @patches;
@@ -38,6 +44,7 @@ while (<PATCH_LEVEL>) {
last if /^\s*}/;
chomp;
s/^\s+,?\s*"?//;
+ s/"\s+STRINGIFY\(PERL_PATCHNUM\)/$patchnum"/;
s/"?\s*,?$//;
s/(['\\])/\\$1/g;
push @patches, $_ unless $_ eq 'NULL';