Corinna Vinschen schrieb:
On Nov  2 14:17, Larry Hall (Cygwin) wrote:
On 11/02/2009 11:48 AM, Corinna Vinschen wrote:
For 1.7 our choice is to keep dlopen() checking for the .dll suffix to
be more Windows-like, or to be more Linux-like by dropping the check for
the .dll suffix so that dlopen() fails if the filename isn't specified
fully.
OK, I'll admit I'm responding with a question without actually looking at the
code and so one can feel free to ignore me.  However the thought that came
to my mind is, should it really matter if dlopen() checks?  What does the check
give us that just passing the name along to LoadLibrary() doesn't?  At first
impression, doing the check just prematurely rejects names without
the DLL suffix
that would otherwise be accepted by Windows.  Since there's a source
level change
that (typically) needs to happen to make the code work on Windows as opposed
to Linux/Unix, what benefit are we getting from this added check?

Good question, that's exactly why I'm asking.

Answer:  Nothing but *maybe* a less surprising behaviour in terms of
POSIX compatibility.  Allowing automatic file extension is not part of
the standards and not even mentioned as a possible option.  Sure, if
that's nothing to worry about, we can stick to the current behaviour.
In terms of compatibility and least surprising behavior, what about accepting dlopen ("bla.so") and looking for "bla.dll"? This might help to avoid source changes,
and it's kind of like the ".exe magic".
If POSIX requires to give the suffix I'm not sure whether this was wise and whether they had different suffixes in different environments in mind. I wonder how this is handled on Mac
with its ".dylib" suffixes.

Thomas

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

Reply via email to