mirror of git://sourceware.org/git/glibc.git
Update.
* iconv/skeleton.c: Correct counting of actually converted characters.
This commit is contained in:
parent
842d0295a1
commit
bf979eef1d
|
@ -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 *
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue