This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: cygwin 1.3.20-1 - strange problems with long command lines in nt4

> Igor wrote:
> You may be hitting the command-line limit with bash.  Try the above with
> cmd.exe.  See below.
>> c:\cygwin\bin\echo.exe %PATH%        -- works fine
>> c:\cygwin\bin\echo.exe %PATH%%PATH%  -- fails, immediately returns to
command line
>Try stracing the last line above...
>	Igor

I can replicate the behavior in cmd.exe; strace returns a zero byte file. 

C:\>c:\cygwin\bin\strace.exe -o foo.txt c:\cygwin\bin\echo.exe %PATH%
\dll;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program
s\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft
Visual S
tudio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin

C:\>c:\cygwin\bin\wc.exe foo.txt
    269    2712   27213 foo.txt

C:\>c:\cygwin\bin\strace.exe -o foo.txt c:\cygwin\bin\echo.exe %PATH%%PATH%

C:\>c:\cygwin\bin\wc.exe foo.txt
      0       0       0 foo.txt

Interestingly, I /can/ pass long command lines with bash to programs built
using vc++. I built a test prog (myecho.exe) using vc++, 

/* myprog.c */
int main(int argc, char* argv[])
  for (int i=0;i<argc; i++) printf("%s ",argv[i]);
  return 0;

which will run when I pass long arguments using bash.exe as my shell. I can
also pass long arguments to this program under cmd.exe. The only difference
seems to be that bash.exe fully expands argv[0] to the full win32 path name
and cmd.exe leaves it as myecho.exe. In both cases I was able to use command
lines over 2000 bytes long without problems.

Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]