summaryrefslogtreecommitdiff
path: root/wcsmbs/wctob.c
diff options
context:
space:
mode:
Diffstat (limited to 'wcsmbs/wctob.c')
-rw-r--r--wcsmbs/wctob.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/wcsmbs/wctob.c b/wcsmbs/wctob.c
index 0f241577a4..cbaac53367 100644
--- a/wcsmbs/wctob.c
+++ b/wcsmbs/wctob.c
@@ -24,6 +24,8 @@
#include <wchar.h>
#include <wcsmbsload.h>
+#include <sysdep.h>
+
int
wctob (c)
@@ -64,7 +66,12 @@ wctob (c)
inbuf[0] = c;
const unsigned char *argptr = (const unsigned char *) inptr;
- status = DL_CALL_FCT (fcts->tomb->__fct,
+ __gconv_fct fct = fcts->tomb->__fct;
+#ifdef PTR_DEMANGLE
+ if (fcts->tomb->__shlib_handle != NULL)
+ PTR_DEMANGLE (fct);
+#endif
+ status = DL_CALL_FCT (fct,
(fcts->tomb, &data, &argptr,
argptr + sizeof (inbuf[0]), NULL, &dummy, 0, 1));