This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] dlopen: Add dot to filename if no slash is present
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org
- Date: 1 Jun 2016 11:12:44 -0000
- Subject: [newlib-cygwin] dlopen: Add dot to filename if no slash is present
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=8a31aa37bc97215f137fc705b5f6e43e06683c15
commit 8a31aa37bc97215f137fc705b5f6e43e06683c15
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Wed Jun 1 13:12:08 2016 +0200
dlopen: Add dot to filename if no slash is present
We're appending a dot to the filename before calling LoadLibrary to
override ".dll" automagic. This only worked for paths, not for simple
filenames since it required a slash in the pathname. Fix that.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/dlfcn.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/winsup/cygwin/dlfcn.cc b/winsup/cygwin/dlfcn.cc
index 914411c..ad4d96c 100644
--- a/winsup/cygwin/dlfcn.cc
+++ b/winsup/cygwin/dlfcn.cc
@@ -135,7 +135,7 @@ dlopen (const char *name, int flags)
/* Check if the last path component contains a dot. If so,
leave the filename alone. Otherwise add a trailing dot
to override LoadLibrary's automatic adding of a ".dll" suffix. */
- wchar_t *last_bs = wcsrchr (path, L'\\');
+ wchar_t *last_bs = wcsrchr (path, L'\\') ?: path;
if (last_bs && !wcschr (last_bs, L'.'))
wcscat (last_bs, L".");