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.zip glibc-c66dbe00b9c98bb9d1fc10c9007fdcfb98a59b73.tar.gz glibc-c66dbe00b9c98bb9d1fc10c9007fdcfb98a59b73.tar.bz2 |
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 cd486b7..8b4f605 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 9020321..bae82be 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) { |