1999-11-25  Ulrich Drepper  <drepper@cygnus.com>

	* iconv/gconv.c (__gconv): Always initialize
	cd->__data[last_step].__outbuf and cd->__data[last_step].__outbufend.

	* iconvdata/iso-2022-kr.c (EMIT_SHIFT_TO_INIT): Update number of
	written bytes.
	* iconvdata/iso-2022-jp.c: Likewise.
This commit is contained in:
Ulrich Drepper 1999-11-25 21:45:54 +00:00
parent c559a3ca84
commit 4a4229213a
4 changed files with 16 additions and 2 deletions

View File

@ -1,3 +1,12 @@
1999-11-25 Ulrich Drepper <drepper@cygnus.com>
* iconv/gconv.c (__gconv): Always initialize
cd->__data[last_step].__outbuf and cd->__data[last_step].__outbufend.
* iconvdata/iso-2022-kr.c (EMIT_SHIFT_TO_INIT): Update number of
written bytes.
* iconvdata/iso-2022-jp.c: Likewise.
1999-11-25 H.J. Lu <hjl@gnu.org>
* stdlib/exit.c (exit): Run funtions only if

View File

@ -39,6 +39,9 @@ __gconv (__gconv_t cd, const unsigned char **inbuf,
assert (converted != NULL);
*converted = 0;
cd->__data[last_step].__outbuf = *outbuf;
cd->__data[last_step].__outbufend = outbufend;
if (inbuf == NULL || *inbuf == NULL)
/* We just flush. */
result = DL_CALL_FCT (cd->__steps->__fct,
@ -49,8 +52,6 @@ __gconv (__gconv_t cd, const unsigned char **inbuf,
const unsigned char *last_start;
assert (outbuf != NULL && *outbuf != NULL);
cd->__data[last_step].__outbuf = *outbuf;
cd->__data[last_step].__outbufend = outbufend;
do
{

View File

@ -212,6 +212,8 @@ gconv_end (struct __gconv_step *data)
*outbuf++ = ESC; \
*outbuf++ = '('; \
*outbuf++ = 'B'; \
if (data->__is_last) \
*written += 3; \
data->__outbuf = outbuf; \
/* Note that this also clears the G2 designation. */ \
data->__statep->count = ASCII_set; \

View File

@ -92,6 +92,8 @@ enum
{ \
/* Write out the shift sequence. */ \
*outbuf++ = SI; \
if (data->__is_last) \
*written += 1; \
data->__outbuf = outbuf; \
data->__statep->count = ASCII_set; \
} \