From: Will Newton <[email protected]>
dladdr does not set dlerror but returns zero on failure.
---
gcl/o/cfun.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gcl/o/cfun.c b/gcl/o/cfun.c
index ed64430..593ee92 100644
--- a/gcl/o/cfun.c
+++ b/gcl/o/cfun.c
@@ -101,10 +101,10 @@
DEFUN("DLADDR",object,fSdladdr,SI,1,1,NONE,OI,OO,OO,OO,(fixnum ad),"") {
Dl_info info;
unsigned long u;
const char *c;
+ int ret;
- dlerror();
- dladdr((void *)ad,&info);
- if (dlerror())
+ ret = dladdr((void *)ad,&info);
+ if (ret == 0)
FEerror("dladdr lookup failure on ~s",1,make_fixnum(ad));
u=(unsigned long)info.dli_fbase;
c=info.dli_fname;
--
1.9.3
_______________________________________________
Gcl-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gcl-devel