aboutsummaryrefslogtreecommitdiff
path: root/iconv
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-06-16 22:55:47 +0000
committerUlrich Drepper <drepper@redhat.com>1999-06-16 22:55:47 +0000
commitd64b6ad07585b8a37e5fecc9a47fcee766d52ede (patch)
tree076b36cc9c1b82254348212e75939d842885563a /iconv
parentbc938d3de936a8e429b16237180c046139be8247 (diff)
downloadglibc-d64b6ad07585b8a37e5fecc9a47fcee766d52ede.zip
glibc-d64b6ad07585b8a37e5fecc9a47fcee766d52ede.tar.gz
glibc-d64b6ad07585b8a37e5fecc9a47fcee766d52ede.tar.bz2
Update.
* Versions.def: Add GLIBC_2.2 for libc. * iconv/gconv.h: Make header suitable for inclusion in public header by protecting all names with __. * iconv/gconv.c: Adapt for symbol name changes. * iconv/gconv.h: Likewise. * iconv/gconv_builtin.c: Likewise. * iconv/gconv_close.c: Likewise. * iconv/gconv_db.c: Likewise. * iconv/gconv_dl.c: Likewise. * iconv/gconv_int.h: Likewise. * iconv/gconv_open.c: Likewise. * iconv/gconv_simple.c: Likewise. * iconv/iconv.c: Likewise. * iconv/iconv_close.c: Likewise. * iconv/iconv_open.c: Likewise. * iconv/loop.c: Likewise. * iconv/skeleton.c: Likewise. * iconvdata/8bit-gap.c: Likewise. * iconvdata/8bit-generic.c: Likewise. * iconvdata/ansi_x3.110.c: Likewise. * iconvdata/big5.c: Likewise. * iconvdata/cns11643.h: Likewise. * iconvdata/cns11643l1.h: Likewise. * iconvdata/euc-cn.c: Likewise. * iconvdata/euc-jp.c: Likewise. * iconvdata/euc-kr.c: Likewise. * iconvdata/euc-tw.c: Likewise. * iconvdata/gb2312.h: Likewise. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/iso646.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/iso_6937-2.c: Likewise. * iconvdata/iso_6937.c: Likewise. * iconvdata/jis0201.h: Likewise. * iconvdata/jis0208.h: Likewise. * iconvdata/jis0212.h: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/ksc5601.h: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t.61.c: Likewise. * iconvdata/uhc.c: Likewise. * stdlib/mblen.c: Likewise. * stdlib/mbtowc.c: Likewise. * stdlib/wctomb.c: Likewise. * wcsmbs/btowc.c: Likewise. * wcsmbs/mbrtowc.c: Likewise. * wcsmbs/mbsnrtowcs.c: Likewise. * wcsmbs/mbsrtowcs.c: Likewise. * wcsmbs/wchar.h: Likewise. * wcsmbs/wcrtomb.c: Likewise. * wcsmbs/wcsmbsload.c: Likewise. * wcsmbs/wcsmbsload.h: Likewise. * wcsmbs/wcsnrtombs.c: Likewise. * wcsmbs/wcsrtombs.c: Likewise. * wcsmbs/wctob.c: Likewise. * include/limits.h (MB_LEN_MAX): Increase to 16. * sysdeps/generic/_G_config.h: Define _G_fpos_t as struct. Define _G_iconv_t. * sysdeps/unix/sysv/linux/_G_config.h: Likewise. * include/wchar.h: Change mbstate_t to __mbstate_t. * libio/Makefile (routines): Add wfiledoalloc, oldiofgetpos, oldiofgetpos64, oldiofsetpos, oldiofsetpos64, fputwc, fputwc_u, getwc, getwc_u, getwchar, getwchar_u, iofgetws, iofgetws_u, iofputws, iofputws_u, iogetwline, iowpadn, ioungetwc, putwc, putwc_u, putchar, putchar_u, swprintf, vwprintf, wprintf, wscanf, fwscanf, vwscanf, vswprintf, iovswscanf, swscanf, wgenops, wstrops, wfileops, and iofwide. (tests): Add tst_swprintf, tst_wprintf, tst_swscanf, and tst_wscanf. * libio/Versions: Add _IO_fgetpos, _IO_fgetpos64, _IO_fsetpos, _IO_fsetpos64, fgetpos, fgetpos64, fgetwc, fgetwc_unlocked, fgetws, fgetws_unlocked, fputwc, fputwc_unlocked, fputws, fputws_unlocked, fsetpos, fsetpos64, fwide, fwprintf, fwscanf, getwc, getwc_unlocked, getwchar, getwchar_unlocked, putwc, putwc_unlocked, putwchar, putwchar_unlocked, swprintf, swscanf, ungetwc, vfwprintf, vswprintf, vwprintf, vfwscanf, vswscanf, vwscanf, wprintf, and wscanf to GLIBC_2.2 for libc. * libio/libio.h: Define codecvt struct. Define _IO_wide_data. Extend _IO_file contain pointer to codecvt, widedata and mode. (_IO_getwc_unlocked): New macro. (_IO_putwc_unlocked): New macro. (_IO_fwide): New macro. * libio/libioP.h: Add new prototypes and adjust existing declarations. * libio/fileops.c (_IO_new_file_close_it): Reset normal or widedata buffers based on mode. (new_do_write): Set _IO_write_end to _IO_buf_end if stream is wide oriented. (_IO_new_file_overflow): Don't depend only on _IO_CURRENTLY_PUTTING flag to be enough to signal unallocated buffer. For wide oriented stream don't make it linebuffered. Don't use _IO_do_flush, use _IO_new_do_write directly. (_IO_new_file_seekoff): Change return value type to _IO_off64_t. (_IO_file_seek): Likewise. * libio/genops.c (_IO_least_marker): Make global. (__underflow): Orient stream if not already done. (__uflow): Likewise. (_IO_default_seekpos): Change to type _IO_off64_t. (_IO_default_seekoff): Likewise. (_IO_default_seek): Likewise. (_IO_no_init): New function. Similar to _IO_init but allows to orient in initialization. * libio/iolibio.h: Add prototype for _IO_vswprintf. Change _IO_pos_BAD to use _IO_off64_t. * libio/ftello.c: Use _IO_off_t. For now abort when use with wide char stream. * libio/ftello64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofopncook.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/oldfileops.c: Likewise. * libio/iofgetpos.c: Store state of conversion if necessary. * libio/iofgetpos64.c: Likewise. * libio/iofsetpos.c: Restore conversion state if necessary. * libio/iofsetpos64.c: Likewise. * libio/iofdopen.c: Initialize so that stream can be wide oriented. * libio/iofopen.c: Likewise. * libio/iofopen64.c: Likewise. * libio/iopopen.c: Likewise. * libio/iovdprintf.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/memstream.c: Likewise. * libio/obprintf.c: Likewise. * libio/iofputs.c: Orient stream if not already happened. * libio/iofputs_u.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iofwrite_u.c: Likewise. * libio/ioputs.c: Likewise. * libio/iosetbuffer.c: Handle not yet oriented stream. * libio/iosetvbuf.c: Likewise. * libio/oldstdfiles.c: Adjust FILEBUF_LITERAL call. * libio/stdfiles.c: Likewise. * libio/strops.c (_IO_str_overflow): Correctly free buffer after failed allocation. (_IO_str_seekoff): Use _IO_off64_t. * libio/vasprintf.c: Pre-orient stream. * libio/vsnprintf.c: Likewise. * libio/fputwc.c: New file. * libio/fputwc_u.c: New file. * libio/fwprintf.c: New file. * libio/fwscanf.c: New file. * libio/getwc.c: New file. * libio/getwc_u.c: New file. * libio/getwchar.c: New file. * libio/getwchar_u.c: New file. * libio/iofgetws.c: New file. * libio/iofgetws_u.c: New file. * libio/iofputws.c: New file. * libio/iofputws_u.c: New file. * libio/iofwide.c: New file. * libio/iogetwline.c: New file. * libio/ioungetwc.c: New file. * libio/iovswscanf.c: New file. * libio/iowpadn.c: New file. * libio/oldiofgetpos.c: New file. * libio/oldiofgetpos64.c: New file. * libio/oldiofsetpos.c: New file. * libio/oldiofsetpos64.c: New file. * libio/putwc.c: New file. * libio/putwc_u.c: New file. * libio/putwchar.c: New file. * libio/putwchar_u.c: New file. * libio/swprintf.c: New file. * libio/swscanf.c: New file. * libio/tst_swprintf.c: New file. * libio/tst_swscanf.c: New file. * libio/tst_wprintf.c: New file. * libio/tst_wscanf.c: New file. * libio/tst_wscanf.input: New file. * libio/vswprintf.c: New file. * libio/vwprintf.c: New file. * libio/vwscanf.c: New file. * libio/wfiledoalloc.c: New file. * libio/wfileops.c: New file. * libio/wgenops.c: New file. * libio/wprintf.c: New file. * libio/wscanf.c: New file. * libio/wstrops.c: New file. * stdio-common/Makefile (routines): Add _itowa, itowa-digits, vfwprintf, and vfwscanf. * stdio-common/_itoa.c (base_table): Rename to _IO_base_table and make global. * stdio-common/_itowa.c: New file. * stdio-common/_itowa.h: New file. * stdio-common/itoa-digits.c: Minimal optimization. * stdio-common/itowa-digits.c: New file. * stdio-common/printf-parse.h: Allow use in wide character context. * stdio-common/printf-prs.c: Define ISASCII and MBRLEN. * stdio-common/printf.h (printf_info): Add wide bit. * stdio-common/printf_fp.c: Determine from wide bit whether stream is wide oriented or not. * stdio-common/printf_size.c: Likewise. * sysdeps/generic/printf_fphex.c: Likewise. * stdlib/strfmon.c: Call __printf_fp with wide bit cleared. * stdio-common/vfprintf.c: Rewrite to allow use in wide character context. * stdio-common/vfscand.c: Likewise. * stdio-common/vfwprintf.c: New file. * stdio-common/vfwscanf.c: New file. * time/Makefile (routines): Add wcsftime. (tests): Add tst_wcsftime. * time/Versions: Add wcsftime to GLIBC_2.2 for libc. * time/strftime.c: Make usable as wcsftime. * time/wcsftime.c: New file. * time/tst_wcsftime.c: New file. * wcsmbs/Makefile (routines): Add wmempcpy and wcschrnul. * wcsmbs/Versions: Add wmempcpy and wcschrnul to GLIBC_2.2 for libc. * wcsmbs/wcschrnul.c: New file. * wcsmbs/wmemcpy.c: New file. * wcsmbs/wmemcpy.c: Rename to __wmemcpy and make wmemcpy weak alias. * wcsmbs/wmemmove.c: Likewise for wmemmove. * manual/stdio.texi: Document is_char and wide element if printf_info. * manual/time.texi: Document wcsftime. * include/wchar.h: Add prototypes for __wmemcpy, __wmempcpy, __wmemmove, __wcschrnul, and __vfwscanf. * locale/langinfo.h: Add new LC_TIME entries for wchar_t data. * locale/C-time.c: Adapt for above change. * locale/categories.def: Likewise. * locale/localeinfo.h: Likewise. * localedata/Makefile: Don't run tests for now.
Diffstat (limited to 'iconv')
-rw-r--r--iconv/gconv.c30
-rw-r--r--iconv/gconv.h102
-rw-r--r--iconv/gconv_builtin.c46
-rw-r--r--iconv/gconv_close.c18
-rw-r--r--iconv/gconv_db.c118
-rw-r--r--iconv/gconv_dl.c28
-rw-r--r--iconv/gconv_int.h27
-rw-r--r--iconv/gconv_open.c49
-rw-r--r--iconv/gconv_simple.c42
-rw-r--r--iconv/iconv.c14
-rw-r--r--iconv/iconv_close.c4
-rw-r--r--iconv/iconv_open.c6
-rw-r--r--iconv/loop.c19
-rw-r--r--iconv/skeleton.c78
14 files changed, 294 insertions, 287 deletions
diff --git a/iconv/gconv.c b/iconv/gconv.c
index 14398e2..828db9d 100644
--- a/iconv/gconv.c
+++ b/iconv/gconv.c
@@ -27,43 +27,45 @@
int
internal_function
-__gconv (gconv_t cd, const unsigned char **inbuf, const unsigned char *inbufend,
- unsigned char **outbuf, unsigned char *outbufend, size_t *converted)
+__gconv (__gconv_t cd, const unsigned char **inbuf,
+ const unsigned char *inbufend, unsigned char **outbuf,
+ unsigned char *outbufend, size_t *converted)
{
- size_t last_step = cd->nsteps - 1;
+ size_t last_step = cd->__nsteps - 1;
int result;
- if (cd == (gconv_t) -1L)
- return GCONV_ILLEGAL_DESCRIPTOR;
+ if (cd == (__gconv_t) -1L)
+ return __GCONV_ILLEGAL_DESCRIPTOR;
assert (converted != NULL);
*converted = 0;
if (inbuf == NULL || *inbuf == NULL)
/* We just flush. */
- result = _CALL_DL_FCT (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 unsigned char *last_start;
assert (outbuf != NULL && *outbuf != NULL);
- cd->data[last_step].outbuf = *outbuf;
- cd->data[last_step].outbufend = outbufend;
+ cd->__data[last_step].__outbuf = *outbuf;
+ cd->__data[last_step].__outbufend = outbufend;
do
{
last_start = *inbuf;
- result = _CALL_DL_FCT (cd->steps->fct,
- (cd->steps, cd->data, inbuf, inbufend,
+ 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);
+ while (result == __GCONV_EMPTY_INPUT && last_start != *inbuf
+ && *inbuf + cd->__steps->__min_needed_from <= inbufend);
}
if (outbuf != NULL && *outbuf != NULL)
- *outbuf = cd->data[last_step].outbuf;
+ *outbuf = cd->__data[last_step].__outbuf;
return result;
}
diff --git a/iconv/gconv.h b/iconv/gconv.h
index 4b71ccf..f4a66c6 100644
--- a/iconv/gconv.h
+++ b/iconv/gconv.h
@@ -24,106 +24,108 @@
#define _GCONV_H 1
#include <features.h>
+#define __need_mbstate_t
#include <wchar.h>
#define __need_size_t
#include <stddef.h>
/* ISO 10646 value used to signal invalid value. */
-#define UNKNOWN_10646_CHAR ((wchar_t) 0xfffd)
+#define __UNKNOWN_10646_CHAR ((wchar_t) 0xfffd)
/* Error codes for gconv functions. */
enum
{
- GCONV_OK = 0,
- GCONV_NOCONV,
- GCONV_NODB,
- GCONV_NOMEM,
-
- GCONV_EMPTY_INPUT,
- GCONV_FULL_OUTPUT,
- GCONV_ILLEGAL_INPUT,
- GCONV_INCOMPLETE_INPUT,
-
- GCONV_ILLEGAL_DESCRIPTOR,
- GCONV_INTERNAL_ERROR
+ __GCONV_OK = 0,
+ __GCONV_NOCONV,
+ __GCONV_NODB,
+ __GCONV_NOMEM,
+
+ __GCONV_EMPTY_INPUT,
+ __GCONV_FULL_OUTPUT,
+ __GCONV_ILLEGAL_INPUT,
+ __GCONV_INCOMPLETE_INPUT,
+
+ __GCONV_ILLEGAL_DESCRIPTOR,
+ __GCONV_INTERNAL_ERROR
};
/* Forward declarations. */
-struct gconv_step;
-struct gconv_step_data;
-struct gconv_loaded_object;
+struct __gconv_step;
+struct __gconv_step_data;
+struct __gconv_loaded_object;
/* Type of a conversion function. */
-typedef int (*gconv_fct) __PMT ((struct gconv_step *,
- struct gconv_step_data *,
- __const unsigned char **,
- __const unsigned char *, size_t *, int));
+typedef int (*__gconv_fct) __PMT ((struct __gconv_step *,
+ struct __gconv_step_data *,
+ __const unsigned char **,
+ __const unsigned char *, size_t *, int));
/* Constructor and destructor for local data for conversion step. */
-typedef int (*gconv_init_fct) __PMT ((struct gconv_step *));
-typedef void (*gconv_end_fct) __PMT ((struct gconv_step *));
+typedef int (*__gconv_init_fct) __PMT ((struct __gconv_step *));
+typedef void (*__gconv_end_fct) __PMT ((struct __gconv_step *));
/* Description of a conversion step. */
-struct gconv_step
+struct __gconv_step
{
- struct gconv_loaded_object *shlib_handle;
- __const char *modname;
+ struct __gconv_loaded_object *__shlib_handle;
+ __const char *__modname;
- int counter;
+ int __counter;
- __const char *from_name;
- __const char *to_name;
+ __const char *__from_name;
+ __const char *__to_name;
- gconv_fct fct;
- gconv_init_fct init_fct;
- gconv_end_fct end_fct;
+ __gconv_fct __fct;
+ __gconv_init_fct __init_fct;
+ __gconv_end_fct __end_fct;
/* Information about the number of bytes needed or produced in this
step. This helps optimizing the buffer sizes. */
- int min_needed_from;
- int max_needed_from;
- int min_needed_to;
- int max_needed_to;
+ int __min_needed_from;
+ int __max_needed_from;
+ int __min_needed_to;
+ int __max_needed_to;
/* Flag whether this is a stateful encoding or not. */
- int stateful;
+ int __stateful;
- void *data; /* Pointer to step-local data. */
+ void *__data; /* Pointer to step-local data. */
};
/* Additional data for steps in use of conversion descriptor. This is
allocated by the `init' function. */
-struct gconv_step_data
+struct __gconv_step_data
{
- unsigned char *outbuf; /* Output buffer for this step. */
- unsigned char *outbufend; /* Address of first byte after the output buffer.*/
+ unsigned char *__outbuf; /* Output buffer for this step. */
+ unsigned char *__outbufend; /* Address of first byte after the output
+ buffer.*/
/* Is this the last module in the chain. */
- int is_last;
+ int __is_last;
/* Counter for number of invocations of the module function for this
descriptor. */
- int invocation_counter;
+ int __invocation_counter;
/* Flag whether this is an internal use of the module (in the mb*towc*
and wc*tomb* functions) or regular with iconv(3). */
- int internal_use;
+ int __internal_use;
- mbstate_t *statep;
- mbstate_t __state; /* This element should not be used directly by
+ __mbstate_t *__statep;
+ __mbstate_t __state; /* This element should not be used directly by
any module; always use STATEP! */
};
/* Combine conversion step description with data. */
-typedef struct gconv_info
+typedef struct __gconv_info
{
- size_t nsteps;
- struct gconv_step *steps;
- struct gconv_step_data data[0];
-} *gconv_t;
+ size_t __nsteps;
+ struct __gconv_step *__steps;
+ struct __gconv_step_data __data[0];
+} *__gconv_t;
#endif /* gconv.h */
diff --git a/iconv/gconv_builtin.c b/iconv/gconv_builtin.c
index 4f3ca56..ca3ca3e 100644
--- a/iconv/gconv_builtin.c
+++ b/iconv/gconv_builtin.c
@@ -1,5 +1,5 @@
/* Table for builtin transformation mapping.
- Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -29,9 +29,9 @@
static struct builtin_map
{
const char *name;
- gconv_fct fct;
- gconv_init_fct init;
- gconv_end_fct end;
+ __gconv_fct fct;
+ __gconv_init_fct init;
+ __gconv_end_fct end;
int min_needed_from;
int max_needed_from;
@@ -43,15 +43,15 @@ static struct builtin_map
#define BUILTIN_TRANSFORMATION(From, ConstPfx, ConstLen, To, Cost, Name, \
Fct, Init, End, MinF, MaxF, MinT, MaxT) \
{ \
- name: Name, \
- fct: Fct, \
- init: Init, \
- end: End, \
+ .name = Name, \
+ .fct = Fct, \
+ .init = Init, \
+ .end = End, \
\
- min_needed_from: MinF, \
- max_needed_from: MaxF, \
- min_needed_to: MinT, \
- max_needed_to: MaxT \
+ .min_needed_from = MinF, \
+ .max_needed_from = MaxF, \
+ .min_needed_to = MinT, \
+ .max_needed_to = MaxT \
},
#define BUILTIN_ALIAS(From, To)
@@ -61,7 +61,7 @@ static struct builtin_map
void
internal_function
-__gconv_get_builtin_trans (const char *name, struct gconv_step *step)
+__gconv_get_builtin_trans (const char *name, struct __gconv_step *step)
{
size_t cnt;
@@ -71,17 +71,17 @@ __gconv_get_builtin_trans (const char *name, struct gconv_step *step)
assert (cnt < sizeof (map) / sizeof (map[0]));
- step->fct = map[cnt].fct;
- step->init_fct = map[cnt].init;
- step->end_fct = map[cnt].end;
- step->counter = INT_MAX;
- step->shlib_handle = NULL;
+ step->__fct = map[cnt].fct;
+ step->__init_fct = map[cnt].init;
+ step->__end_fct = map[cnt].end;
+ step->__counter = INT_MAX;
+ step->__shlib_handle = NULL;
- step->min_needed_from = map[cnt].min_needed_from;
- step->max_needed_from = map[cnt].max_needed_from;
- step->min_needed_to = map[cnt].min_needed_to;
- step->max_needed_to = map[cnt].max_needed_to;
+ step->__min_needed_from = map[cnt].min_needed_from;
+ step->__max_needed_from = map[cnt].max_needed_from;
+ step->__min_needed_to = map[cnt].min_needed_to;
+ step->__max_needed_to = map[cnt].max_needed_to;
/* None of the builtin converters handles stateful encoding. */
- step->stateful = 0;
+ step->__stateful = 0;
}
diff --git a/iconv/gconv_close.c b/iconv/gconv_close.c
index 2fe8424..a22123b 100644
--- a/iconv/gconv_close.c
+++ b/iconv/gconv_close.c
@@ -25,23 +25,23 @@
int
internal_function
-__gconv_close (gconv_t cd)
+__gconv_close (__gconv_t cd)
{
- struct gconv_step *srunp;
- struct gconv_step_data *drunp;
+ struct __gconv_step *srunp;
+ struct __gconv_step_data *drunp;
size_t nsteps;
/* Free all resources by calling destructor functions and release
the implementations. */
- srunp = cd->steps;
- nsteps = cd->nsteps;
- drunp = cd->data;
+ srunp = cd->__steps;
+ nsteps = cd->__nsteps;
+ drunp = cd->__data;
do
{
- if (!drunp->is_last && drunp->outbuf != NULL)
- free (drunp->outbuf);
+ if (!drunp->__is_last && drunp->__outbuf != NULL)
+ free (drunp->__outbuf);
}
- while (!(drunp++)->is_last);
+ while (!(drunp++)->__is_last);
/* Free the data allocated for the descriptor. */
free (cd);
diff --git a/iconv/gconv_db.c b/iconv/gconv_db.c
index 4abc1ae..727be41 100644
--- a/iconv/gconv_db.c
+++ b/iconv/gconv_db.c
@@ -82,7 +82,7 @@ struct known_derivation
{
const char *from;
const char *to;
- struct gconv_step *steps;
+ struct __gconv_step *steps;
size_t nsteps;
};
@@ -107,7 +107,7 @@ static void *known_derivations;
static int
internal_function
derivation_lookup (const char *fromset, const char *toset,
- struct gconv_step **handle, size_t *nsteps)
+ struct __gconv_step **handle, size_t *nsteps)
{
struct known_derivation key = { fromset, toset, NULL, 0 };
struct known_derivation **result;
@@ -115,21 +115,21 @@ derivation_lookup (const char *fromset, const char *toset,
result = __tfind (&key, &known_derivations, derivation_compare);
if (result == NULL)
- return GCONV_NOCONV;
+ return __GCONV_NOCONV;
*handle = (*result)->steps;
*nsteps = (*result)->nsteps;
/* Please note that we return GCONV_OK even if the last search for
this transformation was unsuccessful. */
- return GCONV_OK;
+ return __GCONV_OK;
}
/* Add new derivation to list of known ones. */
static void
internal_function
add_derivation (const char *fromset, const char *toset,
- struct gconv_step *handle, size_t nsteps)
+ struct __gconv_step *handle, size_t nsteps)
{
struct known_derivation *new_deriv;
size_t fromset_len = strlen (fromset) + 1;
@@ -163,14 +163,14 @@ free_derivation (void *p)
size_t cnt;
for (cnt = 0; cnt < deriv->nsteps; ++cnt)
- if (deriv->steps[cnt].end_fct)
- _CALL_DL_FCT (deriv->steps[cnt].end_fct, (&deriv->steps[cnt]));
+ if (deriv->steps[cnt].__end_fct)
+ _CALL_DL_FCT (deriv->steps[cnt].__end_fct, (&deriv->steps[cnt]));
/* Free the name strings. */
- free ((char *) deriv->steps[0].from_name);
- free ((char *) deriv->steps[deriv->nsteps - 1].to_name);
+ free ((char *) deriv->steps[0].__from_name);
+ free ((char *) deriv->steps[deriv->nsteps - 1].__to_name);
- free ((struct gconv_step *) deriv->steps);
+ free ((struct __gconv_step *) deriv->steps);
free (deriv);
}
@@ -178,40 +178,40 @@ free_derivation (void *p)
static int
internal_function
gen_steps (struct derivation_step *best, const char *toset,
- const char *fromset, struct gconv_step **handle, size_t *nsteps)
+ const char *fromset, struct __gconv_step **handle, size_t *nsteps)
{
size_t step_cnt = 0;
- struct gconv_step *result;
+ struct __gconv_step *result;
struct derivation_step *current;
- int status = GCONV_NOMEM;
+ int status = __GCONV_NOMEM;
/* First determine number of steps. */
for (current = best; current->last != NULL; current = current->last)
++step_cnt;
- result = (struct gconv_step *) malloc (sizeof (struct gconv_step)
- * step_cnt);
+ result = (struct __gconv_step *) malloc (sizeof (struct __gconv_step)
+ * step_cnt);
if (result != NULL)
{
int failed = 0;
- status = GCONV_OK;
+ status = __GCONV_OK;
*nsteps = step_cnt;
current = best;
while (step_cnt-- > 0)
{
- result[step_cnt].from_name = (step_cnt == 0
- ? __strdup (fromset)
- : current->last->result_set);
- result[step_cnt].to_name = (step_cnt + 1 == *nsteps
- ? __strdup (current->result_set)
- : result[step_cnt + 1].from_name);
+ result[step_cnt].__from_name = (step_cnt == 0
+ ? __strdup (fromset)
+ : current->last->result_set);
+ result[step_cnt].__to_name = (step_cnt + 1 == *nsteps
+ ? __strdup (current->result_set)
+ : result[step_cnt + 1].__from_name);
#ifndef STATIC_GCONV
if (current->code->module_name[0] == '/')
{
/* Load the module, return handle for it. */
- struct gconv_loaded_object *shlib_handle =
+ struct __gconv_loaded_object *shlib_handle =
__gconv_find_shlib (current->code->module_name);
if (shlib_handle == NULL)
@@ -220,12 +220,12 @@ gen_steps (struct derivation_step *best, const char *toset,
break;
}
- result[step_cnt].shlib_handle = shlib_handle;
- result[step_cnt].modname = shlib_handle->name;
- result[step_cnt].counter = 0;
- result[step_cnt].fct = shlib_handle->fct;
- result[step_cnt].init_fct = shlib_handle->init_fct;
- result[step_cnt].end_fct = shlib_handle->end_fct;
+ result[step_cnt].__shlib_handle = shlib_handle;
+ result[step_cnt].__modname = shlib_handle->name;
+ result[step_cnt].__counter = 0;
+ result[step_cnt].__fct = shlib_handle->fct;
+ result[step_cnt].__init_fct = shlib_handle->init_fct;
+ result[step_cnt].__end_fct = shlib_handle->end_fct;
}
else
#endif
@@ -234,12 +234,12 @@ gen_steps (struct derivation_step *best, const char *toset,
&result[step_cnt]);
/* Call the init function. */
- if (result[step_cnt].init_fct != NULL)
+ if (result[step_cnt].__init_fct != NULL)
{
- status = _CALL_DL_FCT (result[step_cnt].init_fct,
+ status = _CALL_DL_FCT (result[step_cnt].__init_fct,
(&result[step_cnt]));
- if (status != GCONV_OK)
+ if (status != __GCONV_OK)
{
failed = 1;
/* Make sure we unload this modules. */
@@ -256,17 +256,17 @@ gen_steps (struct derivation_step *best, const char *toset,
/* Something went wrong while initializing the modules. */
while (++step_cnt < *nsteps)
{
- if (result[step_cnt].end_fct != NULL)
- _CALL_DL_FCT (result[step_cnt].end_fct, (&result[step_cnt]));
+ if (result[step_cnt].__end_fct != NULL)
+ _CALL_DL_FCT (result[step_cnt].__end_fct, (&result[step_cnt]));
#ifndef STATIC_GCONV
- __gconv_release_shlib (result[step_cnt].shlib_handle);
+ __gconv_release_shlib (result[step_cnt].__shlib_handle);
#endif
}
free (result);
*nsteps = 0;
*handle = NULL;
- if (status == GCONV_OK)
- status = GCONV_NOCONV;
+ if (status == __GCONV_OK)
+ status = __GCONV_NOCONV;
}
else
*handle = result;
@@ -287,7 +287,7 @@ static int
internal_function
find_derivation (const char *toset, const char *toset_expand,
const char *fromset, const char *fromset_expand,
- struct gconv_step **handle, size_t *nsteps)
+ struct __gconv_step **handle, size_t *nsteps)
{
__libc_lock_define_initialized (static, lock)
struct derivation_step *first, *current, **lastp, *solution = NULL;
@@ -297,7 +297,7 @@ find_derivation (const char *toset, const char *toset_expand,
result = derivation_lookup (fromset_expand ?: fromset, toset_expand ?: toset,
handle, nsteps);
- if (result == GCONV_OK)
+ if (result == __GCONV_OK)
return result;
__libc_lock_lock (lock);
@@ -307,7 +307,7 @@ find_derivation (const char *toset, const char *toset_expand,
find it but at the same time another thread looked for this derivation. */
result = derivation_lookup (fromset_expand ?: fromset, toset_expand ?: toset,
handle, nsteps);
- if (result == GCONV_OK)
+ if (result == __GCONV_OK)
{
__libc_lock_unlock (lock);
return result;
@@ -613,7 +613,7 @@ find_derivation (const char *toset, const char *toset_expand,
int
internal_function
__gconv_find_transform (const char *toset, const char *fromset,
- struct gconv_step **handle, size_t *nsteps)
+ struct __gconv_step **handle, size_t *nsteps)
{
__libc_once_define (static, once);
const char *fromset_expand = NULL;
@@ -630,7 +630,7 @@ __gconv_find_transform (const char *toset, const char *fromset,
if (__gconv_modules_db == NULL)
{
__libc_lock_unlock (lock);
- return GCONV_NOCONV;
+ return __GCONV_NOCONV;
}
/* See whether the names are aliases. */
@@ -653,23 +653,23 @@ __gconv_find_transform (const char *toset, const char *fromset,
#ifndef STATIC_GCONV
/* Increment the user counter. */
- if (result == GCONV_OK)
+ if (result == __GCONV_OK)
{
size_t cnt = *nsteps;
- struct gconv_step *steps = *handle;
+ struct __gconv_step *steps = *handle;
while (cnt > 0)
- if (steps[--cnt].counter++ == 0)
+ if (steps[--cnt].__counter++ == 0)
{
- steps[cnt].shlib_handle =
- __gconv_find_shlib (steps[cnt].modname);
- if (steps[cnt].shlib_handle == NULL)
+ steps[cnt].__shlib_handle =
+ __gconv_find_shlib (steps[cnt].__modname);
+ if (steps[cnt].__shlib_handle == NULL)
{
/* Oops, this is the second time we use this module (after
unloading) and this time loading failed!? */
while (++cnt < *nsteps)
- __gconv_release_shlib (steps[cnt].shlib_handle);
- result = GCONV_NOCONV;
+ __gconv_release_shlib (steps[cnt].__shlib_handle);
+ result = __GCONV_NOCONV;
break;
}
}
@@ -682,8 +682,8 @@ __gconv_find_transform (const char *toset, const char *fromset,
/* The following code is necessary since `find_derivation' will return
GCONV_OK even when no derivation was found but the same request
was processed before. I.e., negative results will also be cached. */
- return (result == GCONV_OK
- ? (*handle == NULL ? GCONV_NOCONV : GCONV_OK)
+ return (result == __GCONV_OK
+ ? (*handle == NULL ? __GCONV_NOCONV : __GCONV_OK)
: result);
}
@@ -691,22 +691,22 @@ __gconv_find_transform (const char *toset, const char *fromset,
/* Release the entries of the modules list. */
int
internal_function
-__gconv_close_transform (struct gconv_step *steps, size_t nsteps)
+__gconv_close_transform (struct __gconv_step *steps, size_t nsteps)
{
- int result = GCONV_OK;
+ int result = __GCONV_OK;
#ifndef STATIC_GCONV
/* Acquire the lock. */
__libc_lock_lock (lock);
while (nsteps-- > 0)
- if (steps[nsteps].shlib_handle != NULL
- && --steps[nsteps].counter == 0)
+ if (steps[nsteps].__shlib_handle != NULL
+ && --steps[nsteps].__counter == 0)
{
- result = __gconv_release_shlib (steps[nsteps].shlib_handle);
- if (result != GCONV_OK)
+ result = __gconv_release_shlib (steps[nsteps].__shlib_handle);
+ if (result != __GCONV_OK)
break;
- steps[nsteps].shlib_handle = NULL;
+ steps[nsteps].__shlib_handle = NULL;
}
/* Release the lock. */
diff --git a/iconv/gconv_dl.c b/iconv/gconv_dl.c
index 52cf9d3..dc90986 100644
--- a/iconv/gconv_dl.c
+++ b/iconv/gconv_dl.c
@@ -50,10 +50,10 @@ static void *loaded;
static int
known_compare (const void *p1, const void *p2)
{
- const struct gconv_loaded_object *s1 =
- (const struct gconv_loaded_object *) p1;
- const struct gconv_loaded_object *s2 =
- (const struct gconv_loaded_object *) p2;
+ const struct __gconv_loaded_object *s1 =
+ (const struct __gconv_loaded_object *) p1;
+ const struct __gconv_loaded_object *s2 =
+ (const struct __gconv_loaded_object *) p2;
return (intptr_t) s1->handle - (intptr_t) s2->handle;
}
@@ -62,7 +62,7 @@ known_compare (const void *p1, const void *p2)
static void
do_open (void *a)
{
- struct gconv_loaded_object *args = (struct gconv_loaded_object *) a;
+ struct __gconv_loaded_object *args = (struct __gconv_loaded_object *) a;
/* Open and relocate the shared object. */
args->handle = _dl_open (args->name, RTLD_LAZY, NULL);
}
@@ -124,11 +124,11 @@ __gconv_find_func (void *handle, const char *name)
/* Open the gconv database if necessary. A non-negative return value
means success. */
-struct gconv_loaded_object *
+struct __gconv_loaded_object *
internal_function
__gconv_find_shlib (const char *name)
{
- struct gconv_loaded_object *found;
+ struct __gconv_loaded_object *found;
void *keyp;
/* Search the tree of shared objects previously requested. Data in
@@ -144,7 +144,7 @@ __gconv_find_shlib (const char *name)
if (keyp == NULL)
{
/* This name was not known before. */
- found = malloc (sizeof (struct gconv_loaded_object));
+ found = malloc (sizeof (struct __gconv_loaded_object));
if (found != NULL)
{
/* Point the tree node at this new structure. */
@@ -161,7 +161,7 @@ __gconv_find_shlib (const char *name)
}
}
else
- found = *(struct gconv_loaded_object **) keyp;
+ found = *(struct __gconv_loaded_object **) keyp;
/* Try to load the shared object if the usage count is 0. This
implies that if the shared object is not loadable, the handle is
@@ -206,12 +206,12 @@ __gconv_find_shlib (const char *name)
/* This is very ugly but the tsearch functions provide no way to pass
information to the walker function. So we use a global variable.
It is MT safe since we use a lock. */
-static struct gconv_loaded_object *release_handle;
+static struct __gconv_loaded_object *release_handle;
static void
do_release_shlib (const void *nodep, VISIT value, int level)
{
- struct gconv_loaded_object *obj = *(struct gconv_loaded_object **) nodep;
+ struct __gconv_loaded_object *obj = *(struct __gconv_loaded_object **) nodep;
if (value != preorder && value != leaf)
return;
@@ -238,7 +238,7 @@ do_release_shlib (const void *nodep, VISIT value, int level)
/* Notify system that a shared object is not longer needed. */
int
internal_function
-__gconv_release_shlib (struct gconv_loaded_object *handle)
+__gconv_release_shlib (struct __gconv_loaded_object *handle)
{
/* Urgh, this is ugly but we have no other possibility. */
release_handle = handle;
@@ -248,7 +248,7 @@ __gconv_release_shlib (struct gconv_loaded_object *handle)
if necessary. */
__twalk (loaded, do_release_shlib);
- return GCONV_OK;
+ return __GCONV_OK;
}
@@ -256,7 +256,7 @@ __gconv_release_shlib (struct gconv_loaded_object *handle)
static void
do_release_all (void *nodep)
{
- struct gconv_loaded_object *obj = (struct gconv_loaded_object *) nodep;
+ struct __gconv_loaded_object *obj = (struct __gconv_loaded_object *) nodep;
/* Unload the shared object. We don't use the trick to
catch errors since in the case an error is signalled
diff --git a/iconv/gconv_int.h b/iconv/gconv_int.h
index 9b00e65..29f495c 100644
--- a/iconv/gconv_int.h
+++ b/iconv/gconv_int.h
@@ -41,7 +41,7 @@ struct gconv_alias
/* Structure describing one loaded shared object. This normally are
objects to perform conversation but as a special case the db shared
object is also handled. */
-struct gconv_loaded_object
+struct __gconv_loaded_object
{
/* Name of the object. */
const char *name;
@@ -54,9 +54,9 @@ struct gconv_loaded_object
struct link_map *handle;
/* Pointer to the functions the module defines. */
- gconv_fct fct;
- gconv_init_fct init_fct;
- gconv_end_fct end_fct;
+ __gconv_fct fct;
+ __gconv_init_fct init_fct;
+ __gconv_end_fct end_fct;
};
@@ -95,18 +95,18 @@ extern struct gconv_module *__gconv_modules_db;
/* Return in *HANDLE decriptor for transformation from FROMSET to TOSET. */
extern int __gconv_open (const char *__toset, const char *__fromset,
- gconv_t *__handle)
+ __gconv_t *__handle)
internal_function;
/* Free resources associated with transformation descriptor CD. */
-extern int __gconv_close (gconv_t cd)
+extern int __gconv_close (__gconv_t cd)
internal_function;
/* Transform at most *INBYTESLEFT bytes from buffer starting at *INBUF
according to rules described by CD and place up to *OUTBYTESLEFT
bytes in buffer starting at *OUTBUF. Return number of written
characters in *CONVERTED if this pointer is not null. */
-extern int __gconv (gconv_t __cd, const unsigned char **__inbuf,
+extern int __gconv (__gconv_t __cd, const unsigned char **__inbuf,
const unsigned char *inbufend, unsigned char **__outbuf,
unsigned char *outbufend, size_t *converted)
internal_function;
@@ -114,7 +114,7 @@ extern int __gconv (gconv_t __cd, const unsigned char **__inbuf,
/* Return in *HANDLE a pointer to an array with *NSTEPS elements describing
the single steps necessary for transformation from FROMSET to TOSET. */
extern int __gconv_find_transform (const char *__toset, const char *__fromset,
- struct gconv_step **__handle,
+ struct __gconv_step **__handle,
size_t *__nsteps)
internal_function;
@@ -126,13 +126,13 @@ extern int __gconv_alias_compare (const void *__p1, const void *__p2);
/* Clear reference to transformation step implementations which might
cause the code to be unloaded. */
-extern int __gconv_close_transform (struct gconv_step *__steps,
+extern int __gconv_close_transform (struct __gconv_step *__steps,
size_t __nsteps)
internal_function;
/* Load shared object named by NAME. If already loaded increment reference
count. */
-extern struct gconv_loaded_object *__gconv_find_shlib (const char *__name)
+extern struct __gconv_loaded_object *__gconv_find_shlib (const char *__name)
internal_function;
/* Find function named NAME in shared object referenced by HANDLE. */
@@ -141,12 +141,12 @@ void *__gconv_find_func (void *handle, const char *name)
/* Release shared object. If no further reference is available unload
the object. */
-extern int __gconv_release_shlib (struct gconv_loaded_object *__handle)
+extern int __gconv_release_shlib (struct __gconv_loaded_object *__handle)
internal_function;
/* Fill STEP with information about builtin module with NAME. */
extern void __gconv_get_builtin_trans (const char *__name,
- struct gconv_step *__step)
+ struct __gconv_step *__step)
internal_function;
@@ -154,7 +154,8 @@ extern void __gconv_get_builtin_trans (const char *__name,
/* Builtin transformations. */
#ifdef _LIBC
# define __BUILTIN_TRANS(Name) \
- extern int Name (struct gconv_step *__step, struct gconv_step_data *__data, \
+ extern int Name (struct __gconv_step *__step, \
+ struct __gconv_step_data *__data, \
const unsigned char **__inbuf, \
const unsigned char *__inbufend, size_t *__written, \
int __do_flush)
diff --git a/iconv/gconv_open.c b/iconv/gconv_open.c
index f3b6dfa..e10abbb 100644
--- a/iconv/gconv_open.c
+++ b/iconv/gconv_open.c
@@ -26,31 +26,32 @@
int
internal_function
-__gconv_open (const char *toset, const char *fromset, gconv_t *handle)
+__gconv_open (const char *toset, const char *fromset, __gconv_t *handle)
{
- struct gconv_step *steps;
+ struct __gconv_step *steps;
size_t nsteps;
- gconv_t result = NULL;
+ __gconv_t result = NULL;
size_t cnt = 0;
int res;
res = __gconv_find_transform (toset, fromset, &steps, &nsteps);
- if (res == GCONV_OK)
+ if (res == __GCONV_OK)
{
/* Allocate room for handle. */
- result = (gconv_t) malloc (sizeof (struct gconv_info)
- + nsteps * sizeof (struct gconv_step_data));
+ result = (__gconv_t) malloc (sizeof (struct __gconv_info)
+ + (nsteps
+ * sizeof (struct __gconv_step_data)));
if (result == NULL)
- res = GCONV_NOMEM;
+ res = __GCONV_NOMEM;
else
{
/* Remember the list of steps. */
- result->steps = steps;
- result->nsteps = nsteps;
+ result->__steps = steps;
+ result->__nsteps = nsteps;
/* Clear the array for the step data. */
- memset (result->data, '\0',
- nsteps * sizeof (struct gconv_step_data));
+ memset (result->__data, '\0',
+ nsteps * sizeof (struct __gconv_step_data));
/* Call all initialization functions for the transformation
step implemenations. */
@@ -58,37 +59,37 @@ __gconv_open (const char *toset, const char *fromset, gconv_t *handle)
{
/* If this is the last step we must not allocate an
output buffer. */
- result->data[cnt].is_last = cnt == nsteps - 1;
+ result->__data[cnt].__is_last = cnt == nsteps - 1;
/* Reset the counter. */
- result->data[cnt].invocation_counter = 0;
+ result->__data[cnt].__invocation_counter = 0;
/* It's a regular use. */
- result->data[cnt].internal_use = 0;
+ result->__data[cnt].__internal_use = 0;
/* We use the `mbstate_t' member in DATA. */
- result->data[cnt].statep = &result->data[cnt].__state;
+ result->__data[cnt].__statep = &result->__data[cnt].__state;
/* Allocate the buffer. */
- if (!result->data[cnt].is_last)
+ if (!result->__data[cnt].__is_last)
{
size_t size = (GCONV_NCHAR_GOAL
- * steps[cnt].max_needed_to);
+ * steps[cnt].__max_needed_to);
- result->data[cnt].outbuf = (char *) malloc (size);
- if (result->data[cnt].outbuf == NULL)
+ result->__data[cnt].__outbuf = (char *) malloc (size);
+ if (result->__data[cnt].__outbuf == NULL)
{
- res = GCONV_NOMEM;
+ res = __GCONV_NOMEM;
break;
}
- result->data[cnt].outbufend = (result->data[cnt].outbuf
- + size);
+ result->__data[cnt].__outbufend =
+ result->__data[cnt].__outbuf + size;
}
}
}
}
- if (res != GCONV_OK)
+ if (res != __GCONV_OK)
{
/* Something went wrong. Free all the resources. */
int serrno = errno;
@@ -96,7 +97,7 @@ __gconv_open (const char *toset, const char *fromset, gconv_t *handle)
if (result != NULL)
{
while (cnt-- > 0)
- free (result->data[cnt].outbuf);
+ free (result->__data[cnt].__outbuf);
free (result);
result = NULL;
diff --git a/iconv/gconv_simple.c b/iconv/gconv_simple.c
index 74dbfc0..3f9df34 100644
--- a/iconv/gconv_simple.c
+++ b/iconv/gconv_simple.c
@@ -90,11 +90,11 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
/* Determine the status. */
if (*outptrp == outend)
- result = GCONV_FULL_OUTPUT;
+ result = __GCONV_FULL_OUTPUT;
else if (*inptrp == inend)
- result = GCONV_EMPTY_INPUT;
+ result = __GCONV_EMPTY_INPUT;
else
- result = GCONV_INCOMPLETE_INPUT;
+ result = __GCONV_INCOMPLETE_INPUT;
if (converted != NULL)
converted += n_convert;
@@ -123,7 +123,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
if (*inptr > '\x7f') \
{ \
/* This is no correct ANSI_X3.4-1968 character. */ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
@@ -152,7 +152,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
if (*((uint32_t *) inptr) > 0x7f) \
{ \
/* This is no correct ANSI_X3.4-1968 character. */ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
@@ -200,7 +200,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
if (outptr + step >= outend) \
{ \
/* Too long. */ \
- result = GCONV_FULL_OUTPUT; \
+ result = __GCONV_FULL_OUTPUT; \
break; \
} \
\
@@ -287,14 +287,14 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
else \
{ \
/* This is an illegal encoding. */ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
if (NEED_LENGTH_TEST && inptr + cnt > inend) \
{ \
/* We don't have enough input. */ \
- result = GCONV_INCOMPLETE_INPUT; \
+ result = __GCONV_INCOMPLETE_INPUT; \
break; \
} \
\
@@ -306,7 +306,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
if ((byte & 0xc0) != 0x80) \
{ \
/* This is an illegal encoding. */ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
@@ -366,7 +366,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
{ \
if (*((uint32_t *) inptr) >= 0x10000) \
{ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
/* Please note that we use the `uint32_t' from-pointer as an `uint16_t' \
@@ -379,7 +379,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
{ \
if (*((uint32_t *) inptr) >= 0x10000) \
{ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
*((uint16_t *) outptr)++ = *((uint32_t *) inptr)++; \
@@ -432,7 +432,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
{ \
if (*((uint32_t *) inptr) >= 0x10000) \
{ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
*((uint16_t *) outptr)++ = *((uint32_t *) inptr)++; \
@@ -442,7 +442,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
{ \
if (*((uint32_t *) inptr) >= 0x10000) \
{ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
*((uint16_t *) outptr)++ = bswap_16 (((uint16_t *) inptr)[1]); \
@@ -475,7 +475,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
{ \
if (*((uint32_t *) inptr) >= 0x110000) \
{ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
@@ -483,7 +483,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
if (NEED_LENGTH_TEST && outptr + 4 > outend) \
{ \
/* Overflow in the output buffer. */ \
- result = GCONV_FULL_OUTPUT; \
+ result = __GCONV_FULL_OUTPUT; \
break; \
} \
\
@@ -506,7 +506,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
{ \
if (*((uint32_t *) inptr) >= 0x110000) \
{ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
@@ -514,7 +514,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
if (NEED_LENGTH_TEST && outptr + 4 > outend) \
{ \
/* Overflow in the output buffer. */ \
- result = GCONV_FULL_OUTPUT; \
+ result = __GCONV_FULL_OUTPUT; \
break; \
} \
\
@@ -565,7 +565,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
{ \
/* We don't have enough input for another complete input \
character. */ \
- result = GCONV_INCOMPLETE_INPUT; \
+ result = __GCONV_INCOMPLETE_INPUT; \
break; \
} \
\
@@ -573,7 +573,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
if (u2 < 0xdc00 || u2 >= 0xdfff) \
{ \
/* This is no valid second word for a surrogate. */ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
@@ -602,7 +602,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
{ \
/* We don't have enough input for another complete input \
character. */ \
- result = GCONV_INCOMPLETE_INPUT; \
+ result = __GCONV_INCOMPLETE_INPUT; \
break; \
} \
\
@@ -610,7 +610,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
if (u2 < 0xdc00 || u2 >= 0xdfff) \
{ \
/* This is no valid second word for a surrogate. */ \
- result = GCONV_ILLEGAL_INPUT; \
+ result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
diff --git a/iconv/iconv.c b/iconv/iconv.c
index a6c8436..85a39e3fa 100644
--- a/iconv/iconv.c
+++ b/iconv/iconv.c
@@ -31,7 +31,7 @@ size_t
iconv (iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf,
size_t *outbytesleft)
{
- gconv_t gcd = (gconv_t) cd;
+ __gconv_t gcd = (__gconv_t) cd;
char *outstart = outbuf ? *outbuf : NULL;
size_t converted;
int result;
@@ -59,28 +59,28 @@ iconv (iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf,
switch (result)
{
- case GCONV_ILLEGAL_DESCRIPTOR:
+ case __GCONV_ILLEGAL_DESCRIPTOR:
__set_errno (EBADF);
converted = (size_t) -1L;
break;
- case GCONV_ILLEGAL_INPUT:
+ case __GCONV_ILLEGAL_INPUT:
__set_errno (EILSEQ);
converted = (size_t) -1L;
break;
- case GCONV_FULL_OUTPUT:
+ case __GCONV_FULL_OUTPUT:
__set_errno (E2BIG);
converted = (size_t) -1L;
break;
- case GCONV_INCOMPLETE_INPUT:
+ case __GCONV_INCOMPLETE_INPUT:
__set_errno (EINVAL);
converted = (size_t) -1L;
break;
- case GCONV_EMPTY_INPUT:
- case GCONV_OK:
+ case __GCONV_EMPTY_INPUT:
+ case __GCONV_OK:
/* Nothing. */
break;
diff --git a/iconv/iconv_close.c b/iconv/iconv_close.c
index d3974c5..6f81aa2 100644
--- a/iconv/iconv_close.c
+++ b/iconv/iconv_close.c
@@ -1,5 +1,5 @@
/* Release any resource associated with given conversion descriptor.
- Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -33,5 +33,5 @@ iconv_close (iconv_t cd)
return -1;
}
- return __gconv_close ((gconv_t) cd) ? -1 : 0;
+ return __gconv_close ((__gconv_t) cd) ? -1 : 0;
}
diff --git a/iconv/iconv_open.c b/iconv/iconv_open.c
index 51dcf0b..e566c6a 100644
--- a/iconv/iconv_open.c
+++ b/iconv/iconv_open.c
@@ -69,7 +69,7 @@ iconv_open (const char *tocode, const char *fromcode)
char *fromcode_conv;
size_t tocode_len;
size_t fromcode_len;
- gconv_t cd;
+ __gconv_t cd;
int res;
/* Normalize the name. We remove all characters beside alpha-numeric,
@@ -87,10 +87,10 @@ iconv_open (const char *tocode, const char *fromcode)
res = __gconv_open (tocode, fromcode, &cd);
- if (res != GCONV_OK)
+ if (res != __GCONV_OK)
{
/* We must set the error number according to the specs. */
- if (res == GCONV_NOCONV || res == GCONV_NODB)
+ if (res == __GCONV_NOCONV || res == __GCONV_NODB)
__set_errno (EINVAL);
return (iconv_t) -1;
diff --git a/iconv/loop.c b/iconv/loop.c
index eac4c75..ada4f0a 100644
--- a/iconv/loop.c
+++ b/iconv/loop.c
@@ -1,5 +1,5 @@
/* Conversion loop frame work.
- Copyright (C) 1998 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -51,6 +51,7 @@
*/
#include <gconv.h>
+#include <wchar.h>
#include <sys/param.h> /* For MIN. */
#define __need_size_t
#include <stddef.h>
@@ -124,7 +125,7 @@ LOOPFCT (const unsigned char **inptrp, const unsigned char *inend,
unsigned char **outptrp, unsigned char *outend, mbstate_t *state,
void *data, size_t *converted EXTRA_LOOP_DECLS)
{
- int result = GCONV_OK;
+ int result = __GCONV_OK;
const unsigned char *inptr = *inptrp;
unsigned char *outptr = *outptrp;
#ifndef COUNT_CONVERTED
@@ -157,7 +158,7 @@ LOOPFCT (const unsigned char **inptrp, const unsigned char *inend,
#endif
}
- if (result == GCONV_OK)
+ if (result == __GCONV_OK)
{
#if MIN_NEEDED_INPUT == MAX_NEEDED_INPUT \
&& MIN_NEEDED_OUTPUT == MAX_NEEDED_OUTPUT
@@ -166,16 +167,16 @@ LOOPFCT (const unsigned char **inptrp, const unsigned char *inend,
to be determined is the status. */
if (inptr == inend)
/* No more input. */
- result = GCONV_EMPTY_INPUT;
+ result = __GCONV_EMPTY_INPUT;
else if ((MIN_NEEDED_OUTPUT != 1 && outptr + MIN_NEEDED_OUTPUT > outend)
|| (MIN_NEEDED_OUTPUT == 1 && outptr >= outend))
/* Overflow in the output buffer. */
- result = GCONV_FULL_OUTPUT;
+ result = __GCONV_FULL_OUTPUT;
else
/* We have something left in the input buffer. */
- result = GCONV_INCOMPLETE_INPUT;
+ result = __GCONV_INCOMPLETE_INPUT;
#else
- result = GCONV_EMPTY_INPUT;
+ result = __GCONV_EMPTY_INPUT;
# undef NEED_LENGTH_TEST
# define NEED_LENGTH_TEST 1
@@ -188,14 +189,14 @@ LOOPFCT (const unsigned char **inptrp, const unsigned char *inend,
|| (MIN_NEEDED_OUTPUT == 1 && outptr >= outend))
{
/* Overflow in the output buffer. */
- result = GCONV_FULL_OUTPUT;
+ result = __GCONV_FULL_OUTPUT;
break;
}
if (MIN_NEEDED_INPUT > 1 && inptr + MIN_NEEDED_INPUT > inend)
{
/* We don't have enough input for another complete input
character. */
- result = GCONV_INCOMPLETE_INPUT;
+ result = __GCONV_INCOMPLETE_INPUT;
break;
}
diff --git a/iconv/skeleton.c b/iconv/skeleton.c
index a9fc249..cd750ba 100644
--- a/iconv/skeleton.c
+++ b/iconv/skeleton.c
@@ -95,7 +95,7 @@ static int from_object;
static int to_object;
# ifndef FROM_DIRECTION
-# define FROM_DIRECTION (step->data == &from_object)
+# define FROM_DIRECTION (step->__data == &from_object)
# endif
#else
# ifndef FROM_DIRECTION
@@ -140,37 +140,37 @@ static int to_object;
# endif
int
-gconv_init (struct gconv_step *step)
+gconv_init (struct __gconv_step *step)
{
/* Determine which direction. */
- if (strcmp (step->from_name, CHARSET_NAME) == 0)
+ if (strcmp (step->__from_name, CHARSET_NAME) == 0)
{
- step->data = &from_object;
+ step->__data = &from_object;
- step->min_needed_from = MIN_NEEDED_FROM;
- step->max_needed_from = MAX_NEEDED_FROM;
- step->min_needed_to = MIN_NEEDED_TO;
- step->max_needed_to = MAX_NEEDED_TO;
+ step->__min_needed_from = MIN_NEEDED_FROM;
+ step->__max_needed_from = MAX_NEEDED_FROM;
+ step->__min_needed_to = MIN_NEEDED_TO;
+ step->__max_needed_to = MAX_NEEDED_TO;
}
- else if (strcmp (step->to_name, CHARSET_NAME) == 0)
+ else if (strcmp (step->__to_name, CHARSET_NAME) == 0)
{
- step->data = &to_object;
+ step->__data = &to_object;
- step->min_needed_from = MIN_NEEDED_TO;
- step->max_needed_from = MAX_NEEDED_TO;
- step->min_needed_to = MIN_NEEDED_FROM;
- step->max_needed_to = MAX_NEEDED_FROM;
+ step->__min_needed_from = MIN_NEEDED_TO;
+ step->__max_needed_from = MAX_NEEDED_TO;
+ step->__min_needed_to = MIN_NEEDED_FROM;
+ step->__max_needed_to = MAX_NEEDED_FROM;
}
else
- return GCONV_NOCONV;
+ return __GCONV_NOCONV;
#ifdef RESET_STATE
- step->stateful = 1;
+ step->__stateful = 1;
#else
- step->stateful = 0;
+ step->__stateful = 0;
#endif
- return GCONV_OK;
+ return __GCONV_OK;
}
#endif
@@ -195,13 +195,13 @@ gconv_init (struct gconv_step *step)
#endif
int
-FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
+FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
const unsigned char **inbuf, const unsigned char *inbufend,
size_t *written, int do_flush)
{
- struct gconv_step *next_step = step + 1;
- struct gconv_step_data *next_data = data + 1;
- gconv_fct fct = next_step->fct;
+ struct __gconv_step *next_step = step + 1;
+ struct __gconv_step_data *next_data = data + 1;
+ __gconv_fct fct = next_step->__fct;
int status;
/* If the function is called with no input this means we have to reset
@@ -209,7 +209,7 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
dropped. */
if (do_flush)
{
- status = GCONV_OK;
+ status = __GCONV_OK;
#ifdef EMIT_SHIFT_TO_INIT
/* Emit the escape sequence to reset the state. */
@@ -217,7 +217,7 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
#endif
/* Call the steps down the chain if there are any but only if we
successfully emitted the escape sequence. */
- if (status == GCONV_OK && ! data->is_last)
+ if (status == __GCONV_OK && ! data->__is_last)
status = DL_CALL_FCT (fct, (next_step, next_data, NULL, NULL,
written, 1));
}
@@ -225,8 +225,8 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
{
/* We preserve the initial values of the pointer variables. */
const unsigned char *inptr = *inbuf;
- unsigned char *outbuf = data->outbuf;
- unsigned char *outend = data->outbufend;
+ unsigned char *outbuf = data->__outbuf;
+ unsigned char *outend = data->__outbufend;
unsigned char *outstart;
/* This variable is used to count the number of characters we
@@ -251,20 +251,20 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
if (FROM_DIRECTION)
/* Run the conversion loop. */
status = FROM_LOOP (inbuf, inbufend, &outbuf, outend,
- data->statep, step->data, &converted
+ data->__statep, step->__data, &converted
EXTRA_LOOP_ARGS);
else
/* Run the conversion loop. */
status = TO_LOOP (inbuf, inbufend, &outbuf, outend,
- data->statep, step->data, &converted
+ data->__statep, step->__data, &converted
EXTRA_LOOP_ARGS);
/* If this is the last step leave the loop, there is nothing
we can do. */
- if (data->is_last)
+ if (data->__is_last)
{
/* Store information about how many bytes are available. */
- data->outbuf = outbuf;
+ data->__outbuf = outbuf;
/* Remember how many characters we converted. */
*written += converted;
@@ -275,13 +275,13 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
/* Write out all output which was produced. */
if (outbuf > outstart)
{
- const unsigned char *outerr = data->outbuf;
+ const unsigned char *outerr = data->__outbuf;
int result;
result = DL_CALL_FCT (fct, (next_step, next_data, &outerr,
outbuf, written, 0));
- if (result != GCONV_EMPTY_INPUT)
+ if (result != __GCONV_EMPTY_INPUT)
{
if (outerr != outbuf)
{
@@ -307,7 +307,7 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
(const unsigned char *) inbufend,
(unsigned char **) &outbuf,
(unsigned char *) outerr,
- data->statep, step->data,
+ data->__statep, step->__data,
&converted EXTRA_LOOP_ARGS);
else
/* Run the conversion loop. */
@@ -315,13 +315,13 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
(const unsigned char *) inbufend,
(unsigned char **) &outbuf,
(unsigned char *) outerr,
- data->statep, step->data,
+ data->__statep, step->__data,
&converted EXTRA_LOOP_ARGS);
/* We must run out of output buffer space in this
rerun. */
assert (outbuf == outerr);
- assert (nstatus == GCONV_FULL_OUTPUT);
+ assert (nstatus == __GCONV_FULL_OUTPUT);
#endif /* reset input buffer */
}
@@ -331,18 +331,18 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
else
/* All the output is consumed, we can make another run
if everything was ok. */
- if (status == GCONV_FULL_OUTPUT)
- status = GCONV_OK;
+ if (status == __GCONV_FULL_OUTPUT)
+ status = __GCONV_OK;
}
}
- while (status == GCONV_OK);
+ while (status == __GCONV_OK);
#ifdef END_LOOP
END_LOOP
#endif
/* We finished one use of this step. */
- ++data->invocation_counter;
+ ++data->__invocation_counter;
}
return status;