about summary refs log tree commit diff
path: root/wcsmbs/wctob.c
diff options
context:
space:
mode:
Diffstat (limited to 'wcsmbs/wctob.c')
-rw-r--r--wcsmbs/wctob.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/wcsmbs/wctob.c b/wcsmbs/wctob.c
index 8c6372558e..fc4c38331d 100644
--- a/wcsmbs/wctob.c
+++ b/wcsmbs/wctob.c
@@ -17,6 +17,7 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <dlfcn.h>
 #include <gconv.h>
 #include <stdio.h>
 #include <string.h>
@@ -52,10 +53,12 @@ wctob (c)
   /* Create the input string.  */
   inbuf[0] = c;
 
-  status = (*__wcsmbs_gconv_fcts.tomb->__fct) (__wcsmbs_gconv_fcts.tomb, &data,
-					       (const unsigned char **) &inptr,
-					       (const unsigned char *) &inbuf[1],
-					       &dummy, 0, 1);
+  status = DL_CALL_FCT (__wcsmbs_gconv_fcts.tomb->__fct,
+			(__wcsmbs_gconv_fcts.tomb, &data,
+			 (const unsigned char **) &inptr,
+			 (const unsigned char *) &inbuf[1],
+			 data.__outbuf, &dummy, 0, 1));
+
   /* The conversion failed or the output is too long.  */
   if ((status != __GCONV_OK && status != __GCONV_FULL_OUTPUT
        && status != __GCONV_EMPTY_INPUT)