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. //Magnus ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster