mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
Update.
* iconv/gconv_db.c (gen_steps): Respect error return value from init functions and abort.
This commit is contained in:
parent
4798763f3f
commit
c7ec9d75a7
@ -1,5 +1,8 @@
|
||||
1998-12-17 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* iconv/gconv_db.c (gen_steps): Respect error return value from
|
||||
init functions and abort.
|
||||
|
||||
* iconvdata/iso646.c: Recognize NF_Z_62-010_1973 as charset name.
|
||||
|
||||
1998-12-17 H.J. Lu <hjl@gnu.org>
|
||||
|
@ -181,6 +181,7 @@ gen_steps (struct derivation_step *best, const char *toset,
|
||||
{
|
||||
int failed = 0;
|
||||
|
||||
status = GCONV_OK;
|
||||
*nsteps = step_cnt;
|
||||
current = best;
|
||||
while (step_cnt-- > 0)
|
||||
@ -220,7 +221,18 @@ gen_steps (struct derivation_step *best, const char *toset,
|
||||
|
||||
/* Call the init function. */
|
||||
if (result[step_cnt].init_fct != NULL)
|
||||
_CALL_DL_FCT (result[step_cnt].init_fct, (&result[step_cnt]));
|
||||
{
|
||||
status = _CALL_DL_FCT (result[step_cnt].init_fct,
|
||||
(&result[step_cnt]));
|
||||
|
||||
if (status != GCONV_OK)
|
||||
{
|
||||
failed = 1;
|
||||
/* Make sure we unload this modules. */
|
||||
--step_cnt;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
current = current->last;
|
||||
}
|
||||
@ -239,13 +251,11 @@ gen_steps (struct derivation_step *best, const char *toset,
|
||||
free (result);
|
||||
*nsteps = 0;
|
||||
*handle = NULL;
|
||||
status = GCONV_NOCONV;
|
||||
if (status == GCONV_OK)
|
||||
status = GCONV_NOCONV;
|
||||
}
|
||||
else
|
||||
{
|
||||
*handle = result;
|
||||
status = GCONV_OK;
|
||||
}
|
||||
*handle = result;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user