diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-06-18 16:51:12 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-06-18 16:51:12 +0000 |
commit | 5ad49c070734c57f35cfe045572fb22158870c78 (patch) | |
tree | d17a62167c0996bbe744522fcb819446817cdc04 /iconv/gconv.c | |
parent | 2827300fbe8b237b825aa29b95f24026aedd4b20 (diff) | |
download | glibc-5ad49c070734c57f35cfe045572fb22158870c78.zip glibc-5ad49c070734c57f35cfe045572fb22158870c78.tar.gz glibc-5ad49c070734c57f35cfe045572fb22158870c78.tar.bz2 |
Update.
1998-06-18 16:40 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add _dl_profile_map, _dl_profile_output, _dl_start_profile,
_dl_mcount, _dl_mcount_wrapper.
* elf/Makefile (routines): Add dl-profstub.
* elf/dl-profstub.c: New file.
* elf/dl-support.c: Don't define _dl_profile_map.
* elf/rtld.c: Likewise.
* elf/dlfcn.h: Define DL_CALL_FCT macro.
* elf/ldsodefs.h: Declare _dl_profile_output, _dl_mcount_wrapper.
Define _CALL_DL_FCT.
* iconv/gconv.c: Use _CALL_DL_FCT to call function from dynamically
loaded object.
* iconv/gconv_db.c: Likewise.
* iconv/skeleton.c: Likewise.
* nss/getXXbyYY_r.c: Likewise.
* nss/getXXent_r.c: Likewise.
* nss/nsswitch.c: Likewise.
Diffstat (limited to 'iconv/gconv.c')
-rw-r--r-- | iconv/gconv.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/iconv/gconv.c b/iconv/gconv.c index 24dc21e..9484fc8 100644 --- a/iconv/gconv.c +++ b/iconv/gconv.c @@ -22,6 +22,7 @@ #include <assert.h> #include <gconv.h> #include <sys/param.h> +#include <elf/ldsodefs.h> int @@ -40,7 +41,8 @@ __gconv (gconv_t cd, const char **inbuf, const char *inbufend, char **outbuf, if (inbuf == NULL || *inbuf == NULL) /* We just flush. */ - result = (*cd->steps->fct) (cd->steps, cd->data, NULL, NULL, converted, 1); + result = _CALL_DL_FCT (cd->steps->fct, + (cd->steps, cd->data, NULL, NULL, converted, 1)); else { const char *last_start; @@ -52,8 +54,9 @@ __gconv (gconv_t cd, const char **inbuf, const char *inbufend, char **outbuf, do { last_start = *inbuf; - result = (*cd->steps->fct) (cd->steps, cd->data, inbuf, inbufend, - converted, 0); + result = _CALL_DL_FCT (cd->steps->fct, + (cd->steps, cd->data, inbuf, inbufend, + converted, 0)); } while (result == GCONV_EMPTY_INPUT && last_start != *inbuf && *inbuf + cd->steps->min_needed_from <= inbufend); |