On Wed, May 30, 2007 at 12:09:05PM +0200, Hannes Eder wrote:
> Andrew Dunstan schrieb:
> >Hannes Eder wrote:
> >>-    open($D, "dir /b $subdirs $spec |") || croak "Could not list 
> >>$spec\n";
> >>+    open($D, "cmd /c dir /b $subdirs $spec |") || croak "Could not 
> >>list $spec\n";
> >> 
> >
> >What the heck are we doing here anyway? We should be doing this a la 
> >Perl - calling out to "dir /b" is surely not the best way to do this. 
> >If we need to recurse we should use File::Find.
> I think since the code in src/tools/msvc is specific to MSVC and 
> therefor, at least currently, specific to Windows. Calling out to "dir 
> /b /s" or "cmd /c dir /b /s" works on WinNT and higher. On Win9x/ME 
> command.com should be called instead of cmd.exe. In order to be more 
> portable maybe we should use the environment variable COMSPEC, which 
> should always point to an appropriate command processor.

We only support NT based OSes anyway, so I don't see COMSPEC as being a
problem. The reason it is the way it is is because that part was originally
just a .bat-file and I just copy/pasted the commands...

Are you actually *running* the script from inside cygwin? How else does it
pick up the wrong command processor?

> Is it worth doing this the "Perl-way" and using File::Find? If so, I can 
> work an a patch for that.

It's certainly cleaner that way, but I don't find it a major issue. But I'd
rather see that fix than the other one.


---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at


Reply via email to