delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/01/18/14:44:19

X-Spam-Check-By: sourceware.org
To: cygwin AT cygwin DOT com
Subject: Re: [ANNOUNCEMENT] Updated: cygwin-1.5.19-1
Mail-Copies-To: never
Reply-To: sds AT gnu DOT org
X-Attribution: Sam
X-Disclaimer: You should not expect anyone to agree with me.
From: Sam Steingold <sds AT gnu DOT org>
In-Reply-To: <20060118181027.GA17787@calimero.vinschen.de> (Corinna Vinschen's message of "Wed, 18 Jan 2006 19:10:27 +0100")
References: <announce DOT 20060117033619 DOT GA12055 AT coe DOT casa DOT cgf DOT cx> <u1wz5h2ed DOT fsf AT gnu DOT org> <20060118181027 DOT GA17787 AT calimero DOT vinschen DOT de>
Mail-Followup-To: cygwin AT cygwin DOT com
Date: Wed, 18 Jan 2006 14:42:53 -0500
Message-ID: <umzhtfhky.fsf@gnu.org>
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (windows-nt)
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

> * Corinna Vinschen <pbevaan-pltjva AT pltjva DOT pbz> [2006-01-18 19:10:27 +0100]:
>
> On Jan 18 12:27, Sam Steingold wrote:
>> > * Christopher Faylor <pts-ab-crefbany-ercyl-cyrnfr AT pltjva DOT 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.

I see, thanks.

> 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.

maybe this is an old bug, I just noticed it again.

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

here is a simple test case:

int main (int argc, char *argv[]) {
  char executable[MAXPATHLEN];
  realpath(argv[0],executable);
  if (open(executable,O_RDONLY|O_BINARY,0644) < 0) return 1;
  else return 0;
}

it worked (returned 0) before and it works on Linux.
it does not work now.


thanks.


-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
http://www.honestreporting.com http://www.savegushkatif.org
http://www.iris.org.il http://www.camera.org http://www.palestinefacts.org
Don't use force -- get a bigger hammer.

--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019