https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=8a31aa37bc97215f137fc705b5f6e43e06683c15

commit 8a31aa37bc97215f137fc705b5f6e43e06683c15
Author: Corinna Vinschen <cori...@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 <cori...@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".");

Reply via email to