mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-18 06:30:05 +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>
|
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.
|
* iconvdata/iso646.c: Recognize NF_Z_62-010_1973 as charset name.
|
||||||
|
|
||||||
1998-12-17 H.J. Lu <hjl@gnu.org>
|
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;
|
int failed = 0;
|
||||||
|
|
||||||
|
status = GCONV_OK;
|
||||||
*nsteps = step_cnt;
|
*nsteps = step_cnt;
|
||||||
current = best;
|
current = best;
|
||||||
while (step_cnt-- > 0)
|
while (step_cnt-- > 0)
|
||||||
@ -220,7 +221,18 @@ gen_steps (struct derivation_step *best, const char *toset,
|
|||||||
|
|
||||||
/* Call the init function. */
|
/* Call the init function. */
|
||||||
if (result[step_cnt].init_fct != NULL)
|
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;
|
current = current->last;
|
||||||
}
|
}
|
||||||
@ -239,13 +251,11 @@ gen_steps (struct derivation_step *best, const char *toset,
|
|||||||
free (result);
|
free (result);
|
||||||
*nsteps = 0;
|
*nsteps = 0;
|
||||||
*handle = NULL;
|
*handle = NULL;
|
||||||
|
if (status == GCONV_OK)
|
||||||
status = GCONV_NOCONV;
|
status = GCONV_NOCONV;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
*handle = result;
|
*handle = result;
|
||||||
status = GCONV_OK;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user