summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/dlfcn.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/dlfcn.cc')
-rw-r--r--winsup/cygwin/dlfcn.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/winsup/cygwin/dlfcn.cc b/winsup/cygwin/dlfcn.cc
index b6babe66b..b03f685fc 100644
--- a/winsup/cygwin/dlfcn.cc
+++ b/winsup/cygwin/dlfcn.cc
@@ -144,8 +144,13 @@ dlclose (void *handle)
char *
dlerror ()
{
- char *ret = 0;
- if (_dl_error)
- ret = _dl_buffer;
- return ret;
+ char *res;
+ if (!_dl_error)
+ res = NULL;
+ else
+ {
+ _dl_error = 0;
+ res = _dl_buffer;
+ }
+ return res;
}