This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]