Just to clarify, " C:" is not the entire filepath I was giving to cygpath, it's more like " C:/Temp/a.txt", but I reduced to it when trying to isolate the difference between versions.
On Thu, Oct 6, 2016 at 9:26 PM, Achim Gratz <strom...@nexgo.de> wrote: > A filename can legitimately start with a space and it is a relative filename > in that case. So dropping the space just to get something that looks like a > drive letter is wrong. Indeed! I hadn't thought it that way, and it nicely explains why no conversion happens without the space (in which case it would be considered an absolute file path, despite starting with "C:"). > That's how the otherwise forbidden ":" character gets encoded into the > filename. I do know that ":" is forbidden in a filename, but because I (assumed I) was giving it a file path (and one which was supposed to be absolute), I didn't consider that the rules about special filenames would apply. But having a relative file path changes everything. >> In cygpath 2.5.2 (and 2.4.1, which I also could test), it outputs C:, as I >> would expect. > > No, that's wrong as explained above. I should have said, "as I got used to expect due to past behavior". I would guess those versions were more lenient towards absolute file paths, which would however be an issue for filenames starting with spaces. Thanks to both of you for the clarifications. In the end, the extra whitespace was incorrectly inserted by a makefile function call, so I fixed it anyway, but I wanted to fully understand the issue to avoid incurring into similar problems later. -- 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