This is the mail archive of the
mailing list for the Cygwin project.
Re: Directory existence prevents .exe execution
I still don't get why you want the Cygwin version of ici to work like
the native Windows version. You have a Unix port - that's what the
Cygwin version should use as a model. The whole point of Cygwin is to
get Unixy behavior...
On 4/18/08, Corinna Vinschen <firstname.lastname@example.org> wrote:
> On Apr 18 13:02, Luke Kendall wrote:
> > Corinna Vinschen wrote:
> >> On Apr 16 16:42, Luke Kendall wrote:
> >>> Suppose that when it does a stat() on "fred", before it decides that
> >>> it's found the right file to exec, it should check that "fred" isn't a
> >> A stat() call can't know for what purpose it has been called. Calling
> >> stat on "foo", it will return the information for "foo" first, if it
> >> exists. Only if it not exists it tries "foo.exe" or "foo.lnk".
> > Sure, that makes sense. The stat() call can't know, but the exec()
> > certainly does know that it's trying to execute. So I meant that exec()
> > could call stat(), and if the file exists but is a directory, reject it as
> > a possible thing to execute, and continue with what I assume is the
> > existing Windows-specific logic to look for foo.exe or foo.lnk.
> > What do you think, does the idea make sense?
> Not to me, no. Having three files "foo", "foo.exe" and "foo.lnk" in the
> same directory is something you should avoid like hell. The fact that
> Windows allows that it just a result of its stubborn suffix-ism. All of
> these files would be called "foo" in a POSIX system and you would have a
> name collision. Sure, you could change exec() to search for a .exe
> explicitly, but what's the gain, except for a border case like yours,
> which could easily rectified by changing the sources. You would still
> have problems with stat() and other system calls. I can't see anything
> good to hide a problem in one call, exec(), while the problem persists
> (and must persist) in other system calls.
> 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/
Sent from Gmail for mobile | mobile.google.com
Mark J. Reed <email@example.com>
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html