delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/04/18/08:16:59

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Message-ID: <f60fe000804180516s5f7213e9ob3a7f4fd2adf3a3@mail.gmail.com>
Date: Fri, 18 Apr 2008 08:16:10 -0400
From: "Mark J. Reed" <markjreed AT mail DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Directory existence prevents .exe execution
In-Reply-To: <20080418093110.GI23852@calimero.vinschen.de>
MIME-Version: 1.0
References: <D80722838B6A6B4BA3CA9D90BA70BBB302E0DFAF AT dhrseasvxb04 DOT messaging DOT danaherad DOT com> <20080416064211 DOT 40A7F84237 AT pessard DOT research DOT canon DOT com DOT au> <20080416092618 DOT GP23852 AT calimero DOT vinschen DOT de> <48080F30 DOT 2060804 AT cisra DOT canon DOT com DOT au> <20080418093110 DOT GI23852 AT calimero DOT vinschen DOT de>
X-Google-Sender-Auth: bf1a2ac5f7e1ac4e
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
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

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 <corinna-cygwin AT cygwin DOT com> 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
>
> --
> 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 <markjreed AT gmail DOT com>

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