allow executing a path in backslash notation

Ilguiz Latypov ilatypov@infradead.org
Tue Mar 9 00:49:00 GMT 2010


The attached patch allows executing a path in backslash notation.  This can be tested in the Cygwin builds of GNU make with the "DOS compatibility" compile-time option of GNU make enabled, such as those from Cygwin make packages 3.79 and 3.80.

$ cat dos-compat.mak
default:
        ..\echo.exe test
        C:\<FULLPATH>\echo.exe test

$ ./make.exe --win32 -f dos-compat.mak
..\echo.exe test
test
C:\<FULLPATH>\echo.exe test
test

The patch cannot be tested by simply running a command in backslash notation in the existing Cygwin build of bash or pdksh because these shells re-implement the search of the potential executable command.  I believe these re-implementations are for improved user interaction and platform-independent security.

The patch is a blind conjecture because I am not fully aware about the intention of find_exec() in spawn.cc.  Its implementation seems exceedingly complicated to me, and the comments in the middle of the function about refusing a full Windows path contradict the description of the function above its prototype.

-- 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cygwin-dos-compatibility.txt
URL: <http://cygwin.com/pipermail/cygwin/attachments/20100309/dec62dc1/attachment.txt>
-------------- next part --------------
--
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


More information about the Cygwin mailing list