This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: execlp/execvp needs case-correct PATH


On Feb  9 21:49, Thomas Wolff wrote:
> Am 09.02.2015 um 11:17 schrieb Corinna Vinschen:
> >On Feb  9 00:04, Thomas Wolff wrote:
> >>With a Windows case sensitive file system (and according mount flags
> >>for /cygdrive), the PATH does not properly reflect casing of the actual
> >>directories (e.g. C:\WINDOWS vs. C:\Windows, thanks MS...).
> >>However, the shell finds programs anyway, like e.g. notepad.
> >>The exec*p system calls, on the other hand, do not find a program in this
> >>case as demonstrated by the attached test program.
> >>This is in contrast to the Linux (and POSIX?) manual page which claims
> >>âThe execlp(), execvp(), and execvpe() functions duplicate the actions
> >>of the shell in searching for an executable file ââ
> >I can't reproduce this.  If I change my cygdrive mounts to
> >case-sensitive, my shell doesn't start notepad anymore:
> >
> >   $ cat /etc/fstab
> >   none /mnt cygdrive binary,posix=1,user 0 0
> >   $ echo $SHELL
> >   /bin/tcsh
> >   $ echo $path
> >   /usr/bin /mnt/c/WINDOWS/system32 /mnt/c/WINDOWS /mnt/c/WINDOWS/System32/Wbem /mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0 /usr/lib/lapack
> >   $ notepad
> >   notepad: Command not found.
> >   $ /mnt/c/Windows/notepad
> >   <works>
> >   $
> Sorry, I forgot one detail: I added /cygdrive/c/Windows/System32 to my path
> so the shell will find it, but yet execlp does not find it.

Which makes sense, given that notepad is not in C:\Windows\System32,
but in C:\Windows.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgpTnXlKTbo0V.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]