This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Unexpected behavior from cygpath command
- From: Alfred von Campe <alfred at von-campe dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 12 Nov 2019 17:16:09 -0500
- Subject: Unexpected behavior from cygpath command
I have two almost identical build servers, but cygpath is not behaving as expected on one of them. Here is the output from the “good” build server:
$ cygpath.exe —version | head -1
cygpath (cygwin) 2.11.2
$ cygpath -d 'E:\Program Files (x86)\IAR Systems'
E:\PROGRA~1\IARSYS~1
Cygpath has correctly converted the given path to DOS (8.3) format as expected. Here is the output from the “bad” build server.
$ cygpath.exe —version | head -1
cygpath (cygwin) 2.11.1
$ cygpath -d 'E:\Program Files (x86)\IAR Systems'
E:\Program Files (x86)\IAR Systems
Why is cygpath returning the same path passed in? Oh wait, it’s running a slightly older version (2.11.1 vs 2.11.2). Perhaps there was a bug in the earlier version. Let me update the Cygwin installation and try again:
$ cygpath —version | head -1
cygpath (cygwin) 3.1.0
$ cygpath -d 'E:\Program Files (x86)\IAR Systems'
E:\Program Files (x86)\IAR Systems
WTF? Why is it still doing this? Can there be a global config setting that affects cygpath’s behavior? Hmm, let me try a different approach:
$ cygpath -d "$(cygpath -u 'E:\Program Files (x86)\IAR Systems')"
E:\PROGRA~1\IARSYS~1
Hey, cygpath can convert to DOS paths on this system after all, just not when it’s given a Windows path. Can anyone explain this behavior?
Alfred
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple