2000-06-15  Ulrich Drepper  <drepper@redhat.com>

	* iconv/gconv.h (__gconv_fct): Change type of fifth parameter to
	unsigned char **.
	(__gconv_init_fct): Remove two parameters.
	* iconv/gconv_int.h (__gconv_transliterate): Renamed from
	gconv_transliterate.  Remove two parameters.
	Change prototypes of builtin functions according to __gconv_fct change.
	* iconv/skeleton.c: Change type of fifth parameter.  make sure it is
	!= NULL only during error handling.  Stop in this case after the
	conversion.
	* iconv/gconv_trans.c: Replace with real implementation for
	__gconv_transliterate.
	* iconv/gconv_open.c: Adjust for renaming of __gconv_transliterate.
	* iconv/gconv.c: Change calls to downstream functions once again.
	Use NULL for the fifth parameter instead of pointer to output buffer.
	* libio/iofwide.c: Likewise.
	* wcsmbs/btowc.c: Likewise.
	* wcsmbs/mbrtowc.c: Likewise.
	* wcsmbs/mbsnrtowcs.c: Likewise.
	* wcsmbs/mbsrtowcs.c: Likewise.
	* wcsmbs/wcrtomb.c: Likewise.
	* wcsmbs/wcsnrtombs.c: Likewise.
	* wcsmbs/wcsrtombs.c: Likewise.
	* wcsmbs/wctob.c: Likewise.
	* iconv/gconv_simple.c: Remove two parameters from error handling
	function call.
	* iconvdata/8bit-gap.c: Likewise.
	* iconvdata/8bit-generic.c: Likewise.
	* iconvdata/ansi_x3.110.c: Likewise.
	* iconvdata/big5.c: Likewise.
	* iconvdata/big5hkscs.c: Likewise.
	* iconvdata/euc-cn.c: Likewise.
	* iconvdata/euc-jp.c: Likewise.
	* iconvdata/euc-kr.c: Likewise.
	* iconvdata/euc-tw.c: Likewise.
	* iconvdata/gbgbk.c: Likewise.
	* iconvdata/gbk.c: Likewise.
	* iconvdata/iso-2022-cn.c: 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/johab.c: Likewise.
	* iconvdata/sjis.c: Likewise.
	* iconvdata/t.61.c: Likewise.
	* iconvdata/uhc.c: Likewise.
	* iconvdata/unicode.c: Likewise.
	* iconvdata/utf-16.c: Likewise.
This commit is contained in:
Ulrich Drepper 2000-06-16 00:39:38 +00:00
parent f5361098c5
commit f1d5c60dde
41 changed files with 254 additions and 117 deletions

View File

@ -1,3 +1,55 @@
2000-06-15 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv.h (__gconv_fct): Change type of fifth parameter to
unsigned char **.
(__gconv_init_fct): Remove two parameters.
* iconv/gconv_int.h (__gconv_transliterate): Renamed from
gconv_transliterate. Remove two parameters.
Change prototypes of builtin functions according to __gconv_fct change.
* iconv/skeleton.c: Change type of fifth parameter. make sure it is
!= NULL only during error handling. Stop in this case after the
conversion.
* iconv/gconv_trans.c: Replace with real implementation for
__gconv_transliterate.
* iconv/gconv_open.c: Adjust for renaming of __gconv_transliterate.
* iconv/gconv.c: Change calls to downstream functions once again.
Use NULL for the fifth parameter instead of pointer to output buffer.
* libio/iofwide.c: Likewise.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* iconv/gconv_simple.c: Remove two parameters from error handling
function call.
* iconvdata/8bit-gap.c: Likewise.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/ansi_x3.110.c: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/big5hkscs.c: Likewise.
* iconvdata/euc-cn.c: Likewise.
* iconvdata/euc-jp.c: Likewise.
* iconvdata/euc-kr.c: Likewise.
* iconvdata/euc-tw.c: Likewise.
* iconvdata/gbgbk.c: Likewise.
* iconvdata/gbk.c: Likewise.
* iconvdata/iso-2022-cn.c: 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/johab.c: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t.61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* iconvdata/unicode.c: Likewise.
* iconvdata/utf-16.c: Likewise.
2000-06-15 Greg McGary <greg@mcgary.org> 2000-06-15 Greg McGary <greg@mcgary.org>
* sysdeps/unix/make-syscalls.sh: Strip leading whitespace from lhs * sysdeps/unix/make-syscalls.sh: Strip leading whitespace from lhs

View File

@ -46,8 +46,8 @@ __gconv (__gconv_t cd, const unsigned char **inbuf,
if (inbuf == NULL || *inbuf == NULL) if (inbuf == NULL || *inbuf == NULL)
/* We just flush. */ /* We just flush. */
result = DL_CALL_FCT (cd->__steps->__fct, result = DL_CALL_FCT (cd->__steps->__fct,
(cd->__steps, cd->__data, NULL, NULL, (cd->__steps, cd->__data, NULL, NULL, NULL,
cd->__data[0].__outbuf, irreversible, 1, 0)); irreversible, 1, 0));
else else
{ {
const unsigned char *last_start; const unsigned char *last_start;
@ -59,7 +59,7 @@ __gconv (__gconv_t cd, const unsigned char **inbuf,
last_start = *inbuf; last_start = *inbuf;
result = DL_CALL_FCT (cd->__steps->__fct, result = DL_CALL_FCT (cd->__steps->__fct,
(cd->__steps, cd->__data, inbuf, inbufend, (cd->__steps, cd->__data, inbuf, inbufend,
cd->__data[0].__outbuf, irreversible, 0, 0)); NULL, irreversible, 0, 0));
} }
while (result == __GCONV_EMPTY_INPUT && last_start != *inbuf while (result == __GCONV_EMPTY_INPUT && last_start != *inbuf
&& *inbuf + cd->__steps->__min_needed_from <= inbufend); && *inbuf + cd->__steps->__min_needed_from <= inbufend);

View File

@ -68,7 +68,7 @@ struct __gconv_trans_data;
/* Type of a conversion function. */ /* Type of a conversion function. */
typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
__const unsigned char **, __const unsigned char *, __const unsigned char **, __const unsigned char *,
unsigned char *, size_t *, int, int); unsigned char **, size_t *, int, int);
/* Constructor and destructor for local data for conversion step. */ /* Constructor and destructor for local data for conversion step. */
typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef int (*__gconv_init_fct) (struct __gconv_step *);
@ -80,8 +80,8 @@ typedef int (*__gconv_trans_fct) (struct __gconv_step *step,
struct __gconv_step_data *step_data, struct __gconv_step_data *step_data,
__const unsigned char *, __const unsigned char *,
__const unsigned char **, __const unsigned char **,
__const unsigned char *, unsigned char *, __const unsigned char *, unsigned char **,
unsigned char **, unsigned char *, size_t *); size_t *);
/* Function to call to provide transliteration module with context. */ /* Function to call to provide transliteration module with context. */
typedef int (*__gconv_trans_context_fct) (struct __gconv_trans_data *data, typedef int (*__gconv_trans_context_fct) (struct __gconv_trans_data *data,

View File

@ -181,15 +181,13 @@ extern void __gconv_get_builtin_trans (const char *name,
internal_function; internal_function;
/* Transliteration using the locale's data. */ /* Transliteration using the locale's data. */
extern int gconv_transliterate (struct __gconv_step *step, extern int __gconv_transliterate (struct __gconv_step *step,
struct __gconv_step_data *step_data, struct __gconv_step_data *step_data,
__const unsigned char *inbufstart, __const unsigned char *inbufstart,
__const unsigned char **inbufp, __const unsigned char **inbufp,
__const unsigned char *inbufend, __const unsigned char *inbufend,
unsigned char *outbufstart, unsigned char **outbufstart,
unsigned char **outbufp, size_t *irreversible);
unsigned char *outbufend,
size_t *irreversible);
/* Builtin transformations. */ /* Builtin transformations. */
@ -198,8 +196,9 @@ extern int gconv_transliterate (struct __gconv_step *step,
extern int Name (struct __gconv_step *step, \ extern int Name (struct __gconv_step *step, \
struct __gconv_step_data *data, \ struct __gconv_step_data *data, \
const unsigned char **inbuf, \ const unsigned char **inbuf, \
const unsigned char *inbufend, unsigned char *outbufstart, \ const unsigned char *inbufend, \
size_t *irreversible, int do_flush, int consume_incomplete) unsigned char **outbufstart, size_t *irreversible, \
int do_flush, int consume_incomplete)
__BUILTIN_TRANS (__gconv_transform_ascii_internal); __BUILTIN_TRANS (__gconv_transform_ascii_internal);
__BUILTIN_TRANS (__gconv_transform_internal_ascii); __BUILTIN_TRANS (__gconv_transform_internal_ascii);

View File

@ -86,7 +86,7 @@ __gconv_open (const char *toset, const char *fromset, __gconv_t *handle,
csnames = internal_trans_names; csnames = internal_trans_names;
ncsnames = 1; ncsnames = 1;
trans_fct = gconv_transliterate; trans_fct = __gconv_transliterate;
/* No context, init, or end function. */ /* No context, init, or end function. */
} }
else if (strcasecmp (errhand, "WORK AROUND A GCC BUG") == 0) else if (strcasecmp (errhand, "WORK AROUND A GCC BUG") == 0)

View File

@ -801,7 +801,7 @@ ucs4le_internal_loop_single (struct __gconv_step *step,
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outptr, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -1190,7 +1190,7 @@ ucs4le_internal_loop_single (struct __gconv_step *step,
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outptr, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -1257,7 +1257,7 @@ ucs4le_internal_loop_single (struct __gconv_step *step,
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outptr, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -18,6 +18,7 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#include <dlfcn.h>
#include <stdint.h> #include <stdint.h>
#include "gconv_int.h" #include "gconv_int.h"
@ -25,26 +26,121 @@
int int
gconv_transliterate (struct __gconv_step *step, __gconv_transliterate (struct __gconv_step *step,
struct __gconv_step_data *step_data, struct __gconv_step_data *step_data,
const unsigned char *inbufstart, const unsigned char *inbufstart,
const unsigned char **inbufp, const unsigned char **inbufp,
const unsigned char *inbufend, const unsigned char *inbufend,
unsigned char *outbufstart, unsigned char **outbufstart, size_t *irreversible)
unsigned char **outbufp, unsigned char *outbufend,
size_t *irreversible)
{ {
/* Find out about the locale's transliteration. */ /* Find out about the locale's transliteration. */
uint_fast32_t size = _NL_CURRENT_WORD (LC_CTYPE, uint_fast32_t size;
_NL_CTYPE_TRANSLIT_HASH_SIZE); uint_fast32_t layers;
uint_fast32_t layers = _NL_CURRENT_WORD (LC_CTYPE, uint32_t *from_idx;
_NL_CTYPE_TRANSLIT_HASH_LAYERS); uint32_t *from_tbl;
uint32_t *to_idx;
uint32_t *to_tbl;
uint32_t *winbuf;
uint32_t *winbufend;
uint_fast32_t low;
uint_fast32_t high;
/* If there is no transliteration information in the locale don't do /* If there is no transliteration information in the locale don't do
anything and return the error. */ anything and return the error. */
size = _NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_TRANSLIT_HASH_SIZE);
if (size == 0) if (size == 0)
return __GCONV_ILLEGAL_INPUT; return __GCONV_ILLEGAL_INPUT;
/* XXX For now we don't do anything. */ /* Get the rest of the values. */
layers = _NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_TRANSLIT_HASH_LAYERS);
from_idx = (uint32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TRANSLIT_FROM_IDX);
from_tbl = (uint32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TRANSLIT_FROM_TBL);
to_idx = (uint32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TRANSLIT_TO_IDX);
to_tbl = (uint32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TRANSLIT_TO_TBL);
/* The input buffer. There are actually 4-byte values. */
winbuf = (uint32_t *) *inbufp;
winbufend = (uint32_t *) inbufend;
/* Test whether there is enough input. */
if (winbuf + 1 > winbufend)
return (winbuf == winbufend
? __GCONV_EMPTY_INPUT : __GCONV_INCOMPLETE_INPUT);
/* The array starting at FROM_IDX contains indeces to the string table
in FROM_TBL. The indeces are sorted wrt to the strings. I.e., we
are doing binary search. */
low = 0;
high = size;
while (low < high)
{
uint_fast32_t med = (low + high) / 2;
uint32_t idx;
int cnt;
/* Compare the string at this index with the string at the current
position in the input buffer. */
idx = from_idx[med];
cnt = 0;
do
{
if (from_tbl[idx + cnt] != winbuf[cnt])
/* Does not match. */
break;
++cnt;
}
while (from_tbl[idx + cnt] != L'\0' && winbuf + cnt < winbufend);
if (cnt > 0 && from_tbl[idx + cnt] == L'\0')
{
/* Found a matching input sequence. Now try to convert the
possible replacements. */
uint32_t idx2 = to_idx[med];
do
{
/* Determine length of replacement. */
uint_fast32_t len = 0;
int res;
const unsigned char *toinptr;
while (to_tbl[idx2 + len] != L'\0')
++len;
/* Try this input text. */
toinptr = (const unsigned char *) &to_tbl[idx2];
res = DL_CALL_FCT (step->__fct,
(step, step_data, &toinptr,
(const unsigned char *) &to_tbl[idx2 + len],
(unsigned char **) outbufstart,
irreversible, 0, 0));
if (res != __GCONV_ILLEGAL_INPUT)
{
/* If the conversion succeeds we have to increment the
input buffer. */
if (res == __GCONV_EMPTY_INPUT)
{
*inbufp += cnt * sizeof (uint32_t);
++*irreversible;
}
return res;
}
/* Next replacement. */
idx2 += len + 1;
}
while (to_tbl[idx2] != L'\0');
/* Nothing found, continue searching. */
}
if (winbuf + cnt >= winbufend || from_tbl[idx + cnt] < winbuf[cnt])
low = idx;
else
high = idx;
}
/* Haven't found a match. */
return __GCONV_ILLEGAL_INPUT; return __GCONV_ILLEGAL_INPUT;
} }

View File

@ -271,7 +271,7 @@ gconv_init (struct __gconv_step *step)
int 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 **inptrp, const unsigned char *inend, const unsigned char **inptrp, const unsigned char *inend,
unsigned char *outbufstart, size_t *irreversible, int do_flush, unsigned char **outbufstart, size_t *irreversible, int do_flush,
int consume_incomplete) int consume_incomplete)
{ {
struct __gconv_step *next_step = step + 1; struct __gconv_step *next_step = step + 1;
@ -288,6 +288,9 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
{ {
status = __GCONV_OK; status = __GCONV_OK;
/* This should never happen during error handling. */
assert (outbufstart == NULL);
#ifdef EMIT_SHIFT_TO_INIT #ifdef EMIT_SHIFT_TO_INIT
/* Emit the escape sequence to reset the state. */ /* Emit the escape sequence to reset the state. */
EMIT_SHIFT_TO_INIT; EMIT_SHIFT_TO_INIT;
@ -296,14 +299,15 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
successfully emitted the escape sequence. */ successfully emitted the escape sequence. */
if (status == __GCONV_OK && ! (data->__flags & __GCONV_IS_LAST)) if (status == __GCONV_OK && ! (data->__flags & __GCONV_IS_LAST))
status = DL_CALL_FCT (fct, (next_step, next_data, NULL, NULL, status = DL_CALL_FCT (fct, (next_step, next_data, NULL, NULL,
next_data->__outbuf, irreversible, 1, NULL, irreversible, 1,
consume_incomplete)); consume_incomplete));
} }
else else
{ {
/* We preserve the initial values of the pointer variables. */ /* We preserve the initial values of the pointer variables. */
const unsigned char *inptr = *inptrp; const unsigned char *inptr = *inptrp;
unsigned char *outbuf = outbufstart; unsigned char *outbuf = (__builtin_expect (outbufstart == NULL, 1)
? data->__outbuf : *outbufstart);
unsigned char *outend = data->__outbufend; unsigned char *outend = data->__outbufend;
unsigned char *outstart; unsigned char *outstart;
/* This variable is used to count the number of characters we /* This variable is used to count the number of characters we
@ -331,7 +335,10 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
|| (MAX_NEEDED_TO > 1 && !FROM_DIRECTION)) || (MAX_NEEDED_TO > 1 && !FROM_DIRECTION))
&& consume_incomplete && (data->__statep->__count & 7) != 0) && consume_incomplete && (data->__statep->__count & 7) != 0)
{ {
/* Yep, we have some bytes left over. Process them now. */ /* Yep, we have some bytes left over. Process them now.
But this must not happen while we are called from an
error handler. */
assert (outbufstart == NULL);
# if MAX_NEEDED_FROM > 1 # if MAX_NEEDED_FROM > 1
if (MAX_NEEDED_TO == 1 || FROM_DIRECTION) if (MAX_NEEDED_TO == 1 || FROM_DIRECTION)
@ -412,6 +419,14 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
} }
#endif #endif
/* If we were called as part of an error handling module we
don't do anything else here. */
if (__builtin_expect (outbufstart != NULL, 0))
{
*outbufstart = outbuf;
return status;
}
/* Give the transliteration module the chance to store the /* Give the transliteration module the chance to store the
original text and the result in case it needs a context. */ original text and the result in case it needs a context. */
if (data->__trans.__trans_context_fct != NULL) if (data->__trans.__trans_context_fct != NULL)
@ -443,8 +458,7 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
int result; int result;
result = DL_CALL_FCT (fct, (next_step, next_data, &outerr, result = DL_CALL_FCT (fct, (next_step, next_data, &outerr,
outbuf, next_data->__outbuf, outbuf, NULL, irreversible, 0,
irreversible, 0,
consume_incomplete)); consume_incomplete));
if (result != __GCONV_EMPTY_INPUT) if (result != __GCONV_EMPTY_INPUT)

View File

@ -89,7 +89,7 @@ struct gap
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -112,7 +112,7 @@ struct gap
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -137,7 +137,7 @@ struct gap
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -72,7 +72,7 @@
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -501,8 +501,7 @@ static const char from_ucs4[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -560,8 +559,7 @@ static const char from_ucs4[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -589,8 +587,7 @@ static const char from_ucs4[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -8589,7 +8589,7 @@ static const char from_ucs4_tab13[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -12746,7 +12746,7 @@ static const char from_ucs4_tab14[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -145,8 +145,7 @@
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -222,8 +222,7 @@
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, \ (step, step_data, *inptrp, \
&inptr, inend, *outptrp, \ &inptr, inend, &outbuf, \
&outptr, outend, \
irreversible)); \ irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \

View File

@ -150,7 +150,7 @@ euckr_from_ucs4 (uint32_t ch, unsigned char *cp)
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -197,8 +197,7 @@
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -106,8 +106,7 @@
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -13456,8 +13456,7 @@ static const char __gbk_from_ucs4_tab12[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, \ &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -328,8 +328,7 @@ enum
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, \ (step, step_data, *inptrp, \
&inptr, inend, *outptrp, \ &inptr, inend, &outbuf, \
&outptr, outend, \
irreversible)); \ irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \

View File

@ -707,8 +707,7 @@ gconv_end (struct __gconv_step *data)
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, \ (step, step_data, *inptrp, \
&inptr, inend, *outptrp, \ &inptr, inend, &outbuf, \
&outptr, outend, \
irreversible)); \ irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
@ -895,8 +894,7 @@ gconv_end (struct __gconv_step *data)
result = DL_CALL_FCT \ result = DL_CALL_FCT \
(step_data->__trans.__trans_fct,\ (step_data->__trans.__trans_fct,\
(step, step_data, *inptrp, \ (step, step_data, *inptrp, \
&inptr, inend, *outptrp, \ &inptr, inend, &outbuf, \
&outptr, outend, \
irreversible)); \ irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \

View File

@ -259,8 +259,7 @@ enum
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -889,7 +889,7 @@ gconv_end (struct __gconv_step *data)
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -53,7 +53,7 @@
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -569,8 +569,7 @@ static const char from_ucs4[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -595,7 +594,7 @@ static const char from_ucs4[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -546,8 +546,7 @@ static const char from_ucs4[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -572,7 +571,7 @@ static const char from_ucs4[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -400,8 +400,7 @@ johab_sym_hanja_to_ucs (uint_fast32_t idx, uint_fast32_t c1, uint_fast32_t c2)
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -446,8 +445,7 @@ johab_sym_hanja_to_ucs (uint_fast32_t idx, uint_fast32_t c1, uint_fast32_t c2)
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -4472,8 +4472,7 @@ static const char from_ucs4_extra[0x100][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -4501,7 +4500,7 @@ static const char from_ucs4_extra[0x100][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -473,8 +473,7 @@ static const char from_ucs4[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -511,8 +510,7 @@ static const char from_ucs4[][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -3225,8 +3225,7 @@ static const char uhc_hangul_from_ucs[11172][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -3266,8 +3265,7 @@ static const char uhc_hangul_from_ucs[11172][2] =
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -156,7 +156,7 @@ gconv_end (struct __gconv_step *data)
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, inend, \ (step, step_data, *inptrp, &inptr, inend, \
*outptrp, &outptr, outend, irreversible)); \ &outbuf, irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -206,8 +206,7 @@ gconv_end (struct __gconv_step *data)
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \
@ -250,8 +249,7 @@ gconv_end (struct __gconv_step *data)
{ \ { \
result = DL_CALL_FCT (step_data->__trans.__trans_fct, \ result = DL_CALL_FCT (step_data->__trans.__trans_fct, \
(step, step_data, *inptrp, &inptr, \ (step, step_data, *inptrp, &inptr, \
inend, *outptrp, &outptr, outend, \ inend, &outbuf, irreversible)); \
irreversible)); \
if (result != __GCONV_OK) \ if (result != __GCONV_OK) \
break; \ break; \
} \ } \

View File

@ -181,7 +181,7 @@ do_out (struct _IO_codecvt *codecvt, __mbstate_t *statep,
status = DL_CALL_FCT (gs->__fct, status = DL_CALL_FCT (gs->__fct,
(gs, codecvt->__cd_out.__cd.__data, &from_start_copy, (gs, codecvt->__cd_out.__cd.__data, &from_start_copy,
(const unsigned char *) from_end, to_start, (const unsigned char *) from_end, NULL,
&dummy, 0, 0)); &dummy, 0, 0));
*from_stop = (wchar_t *) from_start_copy; *from_stop = (wchar_t *) from_start_copy;
@ -229,7 +229,7 @@ do_unshift (struct _IO_codecvt *codecvt, __mbstate_t *statep,
status = DL_CALL_FCT (gs->__fct, status = DL_CALL_FCT (gs->__fct,
(gs, codecvt->__cd_out.__cd.__data, NULL, NULL, (gs, codecvt->__cd_out.__cd.__data, NULL, NULL,
to_start, &dummy, 1, 0)); NULL, &dummy, 1, 0));
*to_stop = codecvt->__cd_out.__cd.__data[0].__outbuf; *to_stop = codecvt->__cd_out.__cd.__data[0].__outbuf;
@ -277,7 +277,7 @@ do_in (struct _IO_codecvt *codecvt, __mbstate_t *statep,
status = DL_CALL_FCT (gs->__fct, status = DL_CALL_FCT (gs->__fct,
(gs, codecvt->__cd_in.__cd.__data, &from_start_copy, (gs, codecvt->__cd_in.__cd.__data, &from_start_copy,
from_end, (char *) to_start, &dummy, 0, 0)); from_end, NULL, &dummy, 0, 0));
*from_stop = from_start_copy; *from_stop = from_start_copy;
*to_stop = (wchar_t *) codecvt->__cd_in.__cd.__data[0].__outbuf; *to_stop = (wchar_t *) codecvt->__cd_in.__cd.__data[0].__outbuf;
@ -354,7 +354,7 @@ do_length (struct _IO_codecvt *codecvt, __mbstate_t *statep,
status = DL_CALL_FCT (gs->__fct, status = DL_CALL_FCT (gs->__fct,
(gs, codecvt->__cd_in.__cd.__data, &cp, from_end, (gs, codecvt->__cd_in.__cd.__data, &cp, from_end,
(char *) to_buf, &dummy, 0, 0)); NULL, &dummy, 0, 0));
result = cp - (const unsigned char *) from_start; result = cp - (const unsigned char *) from_start;
#else #else

View File

@ -62,7 +62,7 @@ __btowc (c)
status = DL_CALL_FCT (__wcsmbs_gconv_fcts.towc->__fct, status = DL_CALL_FCT (__wcsmbs_gconv_fcts.towc->__fct,
(__wcsmbs_gconv_fcts.towc, &data, &inptr, inptr + 1, (__wcsmbs_gconv_fcts.towc, &data, &inptr, inptr + 1,
data.__outbuf, &dummy, 0, 1)); NULL, &dummy, 0, 1));
/* The conversion failed. */ /* The conversion failed. */
if (status != __GCONV_OK && status != __GCONV_FULL_OUTPUT if (status != __GCONV_OK && status != __GCONV_FULL_OUTPUT
&& status != __GCONV_EMPTY_INPUT) && status != __GCONV_EMPTY_INPUT)

View File

@ -73,7 +73,7 @@ __mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
inbuf = (const unsigned char *) s; inbuf = (const unsigned char *) s;
status = DL_CALL_FCT (__wcsmbs_gconv_fcts.towc->__fct, status = DL_CALL_FCT (__wcsmbs_gconv_fcts.towc->__fct,
(__wcsmbs_gconv_fcts.towc, &data, &inbuf, inbuf + n, (__wcsmbs_gconv_fcts.towc, &data, &inbuf, inbuf + n,
data.__outbuf, &dummy, 0, 1)); NULL, &dummy, 0, 1));
/* There must not be any problems with the conversion but illegal input /* There must not be any problems with the conversion but illegal input
characters. The output buffer must be large enough, otherwise the characters. The output buffer must be large enough, otherwise the

View File

@ -82,7 +82,7 @@ __mbsnrtowcs (dst, src, nmc, len, ps)
data.__outbuf = (unsigned char *) buf; data.__outbuf = (unsigned char *) buf;
status = DL_CALL_FCT (towc->__fct, status = DL_CALL_FCT (towc->__fct,
(towc, &data, &inbuf, srcend, data.__outbuf, (towc, &data, &inbuf, srcend, NULL,
&dummy, 0, 1)); &dummy, 0, 1));
result += (wchar_t *) data.__outbuf - buf; result += (wchar_t *) data.__outbuf - buf;
@ -104,7 +104,7 @@ __mbsnrtowcs (dst, src, nmc, len, ps)
status = DL_CALL_FCT (towc->__fct, status = DL_CALL_FCT (towc->__fct,
(towc, &data, (const unsigned char **) src, srcend, (towc, &data, (const unsigned char **) src, srcend,
data.__outbuf, &dummy, 0, 1)); NULL, &dummy, 0, 1));
result = (wchar_t *) data.__outbuf - dst; result = (wchar_t *) data.__outbuf - dst;

View File

@ -79,7 +79,7 @@ __mbsrtowcs (dst, src, len, ps)
data.__outbuf = (char *) buf; data.__outbuf = (char *) buf;
status = DL_CALL_FCT (towc->__fct, status = DL_CALL_FCT (towc->__fct,
(towc, &data, &inbuf, srcend, data.__outbuf, (towc, &data, &inbuf, srcend, NULL,
&non_reversible, 0, 1)); &non_reversible, 0, 1));
result += (wchar_t *) data.__outbuf - buf; result += (wchar_t *) data.__outbuf - buf;
@ -110,7 +110,7 @@ __mbsrtowcs (dst, src, len, ps)
status = DL_CALL_FCT (towc->__fct, status = DL_CALL_FCT (towc->__fct,
(towc, &data, (const unsigned char **) src, srcend, (towc, &data, (const unsigned char **) src, srcend,
data.__outbuf, &non_reversible, 0, 1)); NULL, &non_reversible, 0, 1));
result = (wchar_t *) data.__outbuf - dst; result = (wchar_t *) data.__outbuf - dst;

View File

@ -75,7 +75,7 @@ __wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
{ {
status = DL_CALL_FCT (__wcsmbs_gconv_fcts.tomb->__fct, status = DL_CALL_FCT (__wcsmbs_gconv_fcts.tomb->__fct,
(__wcsmbs_gconv_fcts.tomb, &data, NULL, NULL, (__wcsmbs_gconv_fcts.tomb, &data, NULL, NULL,
data.__outbuf, &dummy, 1, 1)); NULL, &dummy, 1, 1));
if (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT) if (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT)
*data.__outbuf++ = '\0'; *data.__outbuf++ = '\0';
@ -87,8 +87,7 @@ __wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
status = DL_CALL_FCT (__wcsmbs_gconv_fcts.tomb->__fct, status = DL_CALL_FCT (__wcsmbs_gconv_fcts.tomb->__fct,
(__wcsmbs_gconv_fcts.tomb, &data, &inbuf, (__wcsmbs_gconv_fcts.tomb, &data, &inbuf,
inbuf + sizeof (wchar_t), data.__outbuf, &dummy, inbuf + sizeof (wchar_t), NULL, &dummy, 0, 1));
0, 1));
} }
/* There must not be any problems with the conversion but illegal input /* There must not be any problems with the conversion but illegal input

View File

@ -83,7 +83,7 @@ __wcsnrtombs (dst, src, nwc, len, ps)
status = DL_CALL_FCT (tomb->__fct, status = DL_CALL_FCT (tomb->__fct,
(tomb, &data, (const unsigned char **) &inbuf, (tomb, &data, (const unsigned char **) &inbuf,
(const unsigned char *) srcend, data.__outbuf, (const unsigned char *) srcend, NULL,
&dummy, 0, 1)); &dummy, 0, 1));
/* Count the number of bytes. */ /* Count the number of bytes. */
@ -108,7 +108,7 @@ __wcsnrtombs (dst, src, nwc, len, ps)
status = DL_CALL_FCT (tomb->__fct, status = DL_CALL_FCT (tomb->__fct,
(tomb, &data, (const unsigned char **) src, (tomb, &data, (const unsigned char **) src,
(const unsigned char *) srcend, data.__outbuf, (const unsigned char *) srcend, NULL,
&dummy, 0, 1)); &dummy, 0, 1));
/* Count the number of bytes. */ /* Count the number of bytes. */

View File

@ -80,7 +80,7 @@ __wcsrtombs (dst, src, len, ps)
status = DL_CALL_FCT (tomb->__fct, status = DL_CALL_FCT (tomb->__fct,
(tomb, &data, (const unsigned char **) &inbuf, (tomb, &data, (const unsigned char **) &inbuf,
(const unsigned char *) srcend, data.__outbuf, (const unsigned char *) srcend, NULL,
&dummy, 0, 1)); &dummy, 0, 1));
/* Count the number of bytes. */ /* Count the number of bytes. */
@ -109,7 +109,7 @@ __wcsrtombs (dst, src, len, ps)
status = DL_CALL_FCT (tomb->__fct, status = DL_CALL_FCT (tomb->__fct,
(tomb, &data, (const unsigned char **) src, (tomb, &data, (const unsigned char **) src,
(const unsigned char *) srcend, data.__outbuf, (const unsigned char *) srcend, NULL,
&dummy, 0, 1)); &dummy, 0, 1));
/* Count the number of bytes. */ /* Count the number of bytes. */

View File

@ -58,7 +58,7 @@ wctob (c)
(__wcsmbs_gconv_fcts.tomb, &data, (__wcsmbs_gconv_fcts.tomb, &data,
(const unsigned char **) &inptr, (const unsigned char **) &inptr,
(const unsigned char *) &inbuf[1], (const unsigned char *) &inbuf[1],
data.__outbuf, &dummy, 0, 1)); NULL, &dummy, 0, 1));
/* The conversion failed or the output is too long. */ /* The conversion failed or the output is too long. */
if ((status != __GCONV_OK && status != __GCONV_FULL_OUTPUT if ((status != __GCONV_OK && status != __GCONV_FULL_OUTPUT