* iconv/skeleton.c: Correct counting of actually converted
	characters.
This commit is contained in:
Ulrich Drepper 1998-04-29 10:33:09 +00:00
parent 842d0295a1
commit bf979eef1d
2 changed files with 11 additions and 11 deletions

View File

@ -1,5 +1,8 @@
1998-04-29 Ulrich Drepper <drepper@cygnus.com> 1998-04-29 Ulrich Drepper <drepper@cygnus.com>
* iconv/skeleton.c: Correct counting of actually converted
characters.
* intl/localealias.c (read_alias_file): Use unsigned char for * intl/localealias.c (read_alias_file): Use unsigned char for
local variables. Remove unused variable tp. local variables. Remove unused variable tp.
* intl/l10nflist.c (_nl_normalize_codeset): Use unsigned char * * intl/l10nflist.c (_nl_normalize_codeset): Use unsigned char *

View File

@ -223,11 +223,6 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
} }
else else
{ {
/* This variable is used to count the number of characters we
actually converted. */
size_t converted = 0;
size_t last_converted;
/* We preserve the initial values of the pointer variables. */ /* We preserve the initial values of the pointer variables. */
const char *inptr = *inbuf; const char *inptr = *inbuf;
char *outbuf = data->outbuf; char *outbuf = data->outbuf;
@ -240,13 +235,15 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
do do
{ {
/* This variable is used to count the number of characters we
actually converted. */
size_t converted = 0;
/* Remember the start value for this round. */ /* Remember the start value for this round. */
inptr = *inbuf; inptr = *inbuf;
/* The outbuf buffer is empty. */ /* The outbuf buffer is empty. */
outptr = outbuf; outptr = outbuf;
/* Save the state. */
last_converted = converted;
#ifdef SAVE_RESET_STATE #ifdef SAVE_RESET_STATE
SAVE_RESET_STATE (1); SAVE_RESET_STATE (1);
#endif #endif
@ -274,6 +271,10 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
{ {
/* Store information about how many bytes are available. */ /* Store information about how many bytes are available. */
data->outbuf = outbuf; data->outbuf = outbuf;
/* Remember how many characters we converted. */
*written += converted;
break; break;
} }
@ -302,7 +303,6 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
outbuf = outptr; outbuf = outptr;
/* Reset the state. */ /* Reset the state. */
converted = last_converted;
# ifdef SAVE_RESET_STATE # ifdef SAVE_RESET_STATE
SAVE_RESET_STATE (0); SAVE_RESET_STATE (0);
# endif # endif
@ -343,9 +343,6 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
} }
while (status == GCONV_OK); while (status == GCONV_OK);
/* Remember how many characters we converted. */
*written += converted;
#ifdef END_LOOP #ifdef END_LOOP
END_LOOP END_LOOP
#endif #endif