[newlib-cygwin] dlopen: Add dot to filename if no slash is present

Corinna Vinschen corinna@sourceware.org
Wed Jun 1 11:12:00 GMT 2016


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>

 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".");

More information about the Cygwin-cvs mailing list