[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AS_EXECUTABLE_P again -- summary

From: Eric Blake
Subject: Re: AS_EXECUTABLE_P again -- summary
Date: Sat, 22 Jan 2005 19:51:06 -0700
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Hash: SHA1

According to Eli Zaretskii on 1/22/2005 9:23 AM:
>>2) On Cygwin, both `test -x foo' and `test -f foo' look for foo.exe.
> That's a bug, IMHO.

It's actually a design decision, and seems correct to me.  As -x applies
to more than just executables (for example, directories), you really DO
want to find a file that is both -f (regular file) and -x (executable), so
both checks need to look for the .exe extension not required in normal
Unix.  Cygwin intercepts all POSIX system calls through cygwin1.dll, which
all cygwin programs link against, and for every call that operates on any
file name, such as open(), cygwin checks for the first existing file among
"foo", "foo.exe", "foo.exe.lnk", and "foo.lnk".  The .lnk checks are
necessary to use the normal Windows link file extension with cygwin
additions embedded in them to provide both hard and soft links.

> Also, you didn't tell what do "test -f" and "test -x" do in non-Cygwin
> Windows ports of Bash and Sh-utils.  I don't think we should ignore
> those.

I don't use DJGPP or mingw (the two main non-cygwin windows ports) often
enough to know their behavior, but you are right that we can't ignore them.

- --
Life is short - so eat dessert first!

Eric Blake             address@hidden
Version: GnuPG v1.4.0 (Cygwin)
Comment: Using GnuPG with Thunderbird -


reply via email to

[Prev in Thread] Current Thread [Next in Thread]