more info on execvp problem

Christopher Faylor cgf@redhat.com
Mon Oct 22 09:46:00 GMT 2001


On Mon, Oct 22, 2001 at 05:46:09PM +0200, Pavel Tsekov wrote:
>Charles Wilson wrote:
>> 
>> Pavel Tsekov wrote:
>> 
>> > I was sure there will be a response like this - in short since as we
>> > both
>> > agree is posix internally (if noone messed with it) - you get this as
>> > result
>> > of getenv("PATH"):
>> >
>> > c:/jdk1.3.1/bin:/usr/local/bin:...:c:/usr/local/emacs/bin
>> 
>> Listen carefully: as Chris has already pointed out, that is NOT a posix
>> path.  THIS is a posix path:
>> 
>> /cygdrive/c/jdk1.3.1/bin:/usr/local/bin:...:/cygdrive/c/usr/local/emacs/bin
>
>Now as I see a hostility in you statement I would suggest you to fire 
>you debbuger and try the little test found in my first e-mail:
>
>I try to explain that the first "c" is not drive C:
>
>Consider the following DOS style PATH:
>C;C:;C:\WINNT\System32 for exmaple
>this is  
>
>1. C directory C in current directory
>2. C: for drive C: root folder
>
>now put this path in PATH launch the debugger and see what is 
>the output of getenv 

The light dawned.  I finally understand.  Sorry for being so dense.

newlib's execvp had some very obsolete cygwin considerations.  It shouldn't
be trying to accomodate a Windows path.  I have no idea when that was ever
a good idea but it is definitely not a good idea now.

I've just nuked all of the strange path handling code from execvp and allowed
it to do the right thing.

Actually, hmm.  I think I'll move all of the execvp handling into cygwin where
it belongs.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list