Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-Id: <200102140101.RAA29958@bosworth.spimageworks.com> X-Authentication-Warning: bosworth.spimageworks.com: johnr AT localhost didn't use HELO protocol to: cygwin AT cygwin DOT com subject: BUG?: erroreous intepretation of windows quoted paths Date: Tue, 13 Feb 2001 17:01:36 -0800 From: John Refling echo $PATH gives (line breaks by me): PATH=/usr/local/bin:/usr/bin:/bin:/c/bin:/c/usr/bin:/c/usr/local/bin:\ /c/WINNT/system32:/c/WINNT:/c/WINNT/system32/wbem:/c/sfu/telnet/:\ /c/sfu/shell/:"c:/Program Files/Diskaccess/bin":\ /c/Program Files/Support Tools/:/c/AW/Maya2.5/bin:/c/bin:/c/usr/bin:\ /c/apps/jdk1.2.2/bin:/c/spi/bin:/c/Program Files/GNU/WinCvs:\ /c/Program Files/Microsoft Visual Studio/VC98/Bin ls "c:\\Program Files\\Diskaccess\\bin" gives: daconfig.exe* nfs.exe* try to execute daconfig/daconfig.exe or "type" them give: bash: daconfig.exe: command not found bash: daconfig: command not found cygcheck (note corrupted [split] quotes across a path element and inclusion of quote chars in the path elements) gives: Cygnus Win95/NT Configuration Diagnostics Current System Time: Tue Feb 13 15:40:07 2001 WinNT Ver 5.0 build 2195 Path: /usr/local/bin /usr/bin /bin /c/bin /c/usr/bin /c/usr/local/bin /c/WINNT/system32 /c/WINNT /c/WINNT/system32/wbem /c/sfu/telnet/ /c/sfu/shell/ "c /Program Files/Diskaccess/bin" /c/Program Files/Support Tools/ /c/AW/Maya2.5/bin /c/bin /c/usr/bin /c/apps/jdk1.2.2/bin /c/spi/bin /c/Program Files/GNU/WinCvs /c/Program Files/Microsoft Visual Studio/VC98/Bin c:\cygwin\bin /usr/bin user textmode c:\cygwin\lib /usr/lib user textmode c:\cyglocal /usr/local user textmode c:\cygpkg /usr/pkg user textmode c:\cygwin / user textmode a: /a user textmode c: /c user textmode s: /s user binmode Cygwin DLL version info: dll major: 1001 dll minor: 8 dll epoch: 19 dll bad signal mask: 19005 dll old termios: 5 dll malloc env: 28 api major: 0 api minor: 34 shared data: 3 dll identifier: cygwin1 mount registry: 2 cygnus registry name: Cygnus Solutions cygwin registry name: Cygwin program options name: Program Options cygwin mount registry name: mounts v2 cygdrive flags: cygdrive flags cygdrive prefix: cygdrive prefix cygdrive default prefix: build date: Wed Jan 31 10:08:38 EST 2001 shared id: cygwin1S3 If I remove the quotes from the system environment variable in the control panel and reboot, all works: echo $PATH gives (line breaks by me): PATH=/usr/local/bin:/usr/bin:/bin:/c/bin:/c/usr/bin:/c/usr/local/bin:\ /c/WINNT/system32:/c/WINNT:/c/WINNT/system32/wbem:/c/sfu/telnet/:\ /c/sfu/shell/:/c/Program Files/Diskaccess/bin:\ /c/Program Files/Support Tools/:/c/AW/Maya2.5/bin:/c/bin:/c/usr/bin:\ /c/apps/jdk1.2.2/bin:/c/spi/bin:/c/Program Files/GNU/WinCvs:\ /c/Program Files/Microsoft Visual Studio/VC98/Bin type daconfig gives: daconfig is hashed (/c/Program Files/Diskaccess/bin/daconfig) and the path section of cygcheck is Path: /usr/local/bin /usr/bin /bin /c/bin /c/usr/bin /c/usr/local/bin /c/WINNT/system32 /c/WINNT /c/WINNT/system32/wbem /c/sfu/telnet/ /c/sfu/shell/ /c/Program Files/Diskaccess/bin /c/Program Files/Support Tools/ /c/AW/Maya2.5/bin /c/bin /c/usr/bin /c/apps/jdk1.2.2/bin /c/spi/bin /c/Program Files/GNU/WinCvs /c/Program Files/Microsoft Visual Studio/VC98/Bin Which is all correct. Therefore, I think there is an incorrect interpretation (or conversion) of quoted windows paths. For one thing, it appears to be using the colon in "c:b" as a path separator instead of grouping it all together according to the higher precidence quotes. PS. I looked in the FAQ, thru the mailing lists (search words +quote +path and +quoted +PATH, and didn't see anything). PPS. I wrote a version of the "which" command, in which I did some really minimal parsing of quoted windows paths, but it works correctly in the cases above. I noticed this same problem in my program a while ago, (and fixed it by adding the minimal quote parsing). Didn't think to check cygwin's operation. I can forward my "which" program to anyone who wants it. -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple