On Thu, Nov 27, 2014 at 1:40 AM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Andrew Dunstan <and...@dunslane.net> writes:
>> This doesn't seem to me to be terribly well expressed (I know it's not your 
>> fault, quite possibly it's mine.) Perhaps we should replace
>>     [r]?[cyl](pp)?
>> with
>>     (c|cpp|y|l|rc)
>
> +1 ... the original coding is illegible already, not to mention wrong
> since it will match stuff it shouldn't.
Yes even the older code could find matches with ry or rl. Except that,
lpp and ypp could be present as well. OK, there are low chances to be
present in a Postgres extension (I don't have such extensions myself),
still they could. So I think that this expression should be written
like that instead:
(c|cpp|l|lpp|y|ypp|rc).
Updated patch is attached.
-- 
Michael
From e4f095d3ba2ac29ccbc00f44306c65d0d4ee678f Mon Sep 17 00:00:00 2001
From: Michael Paquier <mich...@otacoo.com>
Date: Tue, 25 Nov 2014 20:35:55 -0800
Subject: [PATCH] Allow detection of c++ files in MSVC scripts for extensions

This makes possible the detection of c++ files (cpp, lpp, ypp) for
extensions copied in contrib/ and built with MSVC, be it MS or VC.
---
 src/tools/msvc/MSBuildProject.pm | 2 +-
 src/tools/msvc/VCBuildProject.pm | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
index e1c8d81..d33c8ae 100644
--- a/src/tools/msvc/MSBuildProject.pm
+++ b/src/tools/msvc/MSBuildProject.pm
@@ -127,7 +127,7 @@ EOF
 	foreach my $fileNameWithPath (sort keys %{ $self->{files} })
 	{
 		confess "Bad format filename '$fileNameWithPath'\n"
-		  unless ($fileNameWithPath =~ /^(.*)\\([^\\]+)\.[r]?[cyl]$/);
+		  unless ($fileNameWithPath =~ /^(.*)\\([^\\]+)\.(c|cpp|l|lpp|rc|y|ypp)$/);
 		my $dir      = $1;
 		my $fileName = $2;
 		if ($fileNameWithPath =~ /\.y$/ or $fileNameWithPath =~ /\.l$/)
diff --git a/src/tools/msvc/VCBuildProject.pm b/src/tools/msvc/VCBuildProject.pm
index 335a1f0..af68528 100644
--- a/src/tools/msvc/VCBuildProject.pm
+++ b/src/tools/msvc/VCBuildProject.pm
@@ -71,7 +71,7 @@ EOF
 	foreach my $fileNameWithPath (sort keys %{ $self->{files} })
 	{
 		confess "Bad format filename '$fileNameWithPath'\n"
-		  unless ($fileNameWithPath =~ /^(.*)\\([^\\]+)\.[r]?[cyl]$/);
+		  unless ($fileNameWithPath =~ /^(.*)\\([^\\]+)\.(c|cpp|l|lpp|rc|y|ypp)$/);
 		my $dir  = $1;
 		my $file = $2;
 
-- 
2.1.3

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to