[ANNOUNCEMENT] Updated: cygwin-1.5.19-1

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Jan 18 18:16:00 GMT 2006


On Jan 18 12:27, Sam Steingold wrote:
> > * Christopher Faylor <pts-ab-crefbany-ercyl-cyrnfr@pltjva.pbz> [2006-01-16 22:36:19 -0500]:
> >
> > corinna: Emulate linux version of realpath
> 
> now when I have a file "foo.exe",
> realpath("foo") returns "foo" instead of "foo.exe"
> also:
> $ ls -l /proc/self/exe
> 0 lrwxrwxrwx 1 sds mkgroup-l-d 0 Jan 18  2006 /proc/self/exe -> /usr/bin/ls*
> 
> instead of ls.exe, so /proc/self/exe cannot be open() for input.
> 
> so, now I must add the "exe" suffix myself?!

Funny that you mention it.  The realpath change to "emulate linux"
has nothing to do with what you're talking about.  The "emulate linux"
change is something about how to behave if the second argument is a
NULL pointer.  Linux returns a malloced buffer in this case, which
Cygwin didn't so far.

Now, talking about the .exe suffix... the realpath change is this:

  Before: realpath("foo", ...) = NULL (ENOENT)
  After:  realpath("foo", ...) = "foo".

So, instead of returning ENOENT it returns a path that the file exists
which is equivalent to how stat behaves, which it wasn't before.

The only problem is that this change was already applied on 2005-01-25,
which means this is in Cygwin since release 1.5.13 (2005-03-01).

As for removing the .exe from /proc/$PID/exe(name), AFAICS this hasn't
changed since at least 2004-01-01, which was the date when I gave up
looking for a change in the code.

So, well, I don't see why you "now" would have to change something
exactly in relation to this.


Corinna

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

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list