diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-10-16 11:41:15 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-10-16 11:41:15 +0000 |
commit | c66dbe00b9c98bb9d1fc10c9007fdcfb98a59b73 (patch) | |
tree | fc77f0234b3ff62b6ab6f5840e08226cab294dd4 /iconv | |
parent | a9e73d4044f6c8d238965001baffec1ce603f3f3 (diff) | |
download | glibc-c66dbe00b9c98bb9d1fc10c9007fdcfb98a59b73.tar.gz glibc-c66dbe00b9c98bb9d1fc10c9007fdcfb98a59b73.tar.xz glibc-c66dbe00b9c98bb9d1fc10c9007fdcfb98a59b73.zip |
Update.
1998-10-16 10:07 Ulrich Drepper <drepper@cygnus.com> * iconv/Makefile [! elf]: Define CFLAGS-gconv_simple.c to -DSTATIC_GCONV. * iconv/skeleton.c: Include ELF header only of STATIC?GCONV is not defined. Avoid using DL_CLL_FCT if it is not defined. 1998-10-16 10:40 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> * resolv/arpa/nameser.h: Include sys/types.h unconditionally. Include endian.h unconditionally. Remove portability goop depending on #ifdef linux, #ifdef BSD, #ifdef machine-type. 1998-10-16 11:39 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> * sunrpc/rpc/types.h: Mark file so fixincludes won't modify it.
Diffstat (limited to 'iconv')
-rw-r--r-- | iconv/Makefile | 1 | ||||
-rw-r--r-- | iconv/skeleton.c | 24 |
2 files changed, 20 insertions, 5 deletions
diff --git a/iconv/Makefile b/iconv/Makefile index cd486b737e..8b4f605e5b 100644 --- a/iconv/Makefile +++ b/iconv/Makefile @@ -31,6 +31,7 @@ ifeq ($(elf),yes) routines += gconv_dl else CFLAGS-gconv_db.c = -DSTATIC_GCONV +CFLAGS-gconv_simple.c = -DSTATIC_GCONV endif distribute = gconv_builtin.h gconv_int.h loop.c skeleton.c diff --git a/iconv/skeleton.c b/iconv/skeleton.c index 90203213ef..bae82be3ed 100644 --- a/iconv/skeleton.c +++ b/iconv/skeleton.c @@ -77,13 +77,16 @@ */ #include <assert.h> -#include <dlfcn.h> #include <gconv.h> #include <string.h> #define __need_size_t #define __need_NULL #include <stddef.h> -#include <elf/ldsodefs.h> + +#ifndef STATIC_GCONV +# include <dlfcn.h> +# include <elf/ldsodefs.h> +#endif /* The direction objects. */ @@ -219,9 +222,15 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data, if (status == GCONV_OK) #endif - /* Give the modules below the same chance. */ - status = DL_CALL_FCT (fct, (next_step, next_data, NULL, NULL, - written, 1)); + { + /* Give the modules below the same chance. */ +#ifdef DL_CALL_FCT + status = DL_CALL_FCT (fct, (next_step, next_data, NULL, NULL, + written, 1)); +#else + status = (*fct) (next_step, next_data, NULL, NULL, written, 1); +#endif + } } } else @@ -287,8 +296,13 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data, const char *outerr = data->outbuf; int result; +#ifdef DL_CALL_FCT result = DL_CALL_FCT (fct, (next_step, next_data, &outerr, outbuf, written, 0)); +#else + result = (*fct) (next_step, next_data, &outerr, outbuf, + written, 0); +#endif if (result != GCONV_EMPTY_INPUT) { |