mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
Update.
* iconvdata/iso646.c (gconv_init): Return correct error value if we run out of memory. * iconvdata/iso-2022-jp.c: Likewise.
This commit is contained in:
parent
c7ec9d75a7
commit
0937645101
@ -1,5 +1,9 @@
|
||||
1998-12-17 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* iconvdata/iso646.c (gconv_init): Return correct error value if we
|
||||
run out of memory.
|
||||
* iconvdata/iso-2022-jp.c: Likewise.
|
||||
|
||||
* iconv/gconv_db.c (gen_steps): Respect error return value from
|
||||
init functions and abort.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Skeleton for a converison module.
|
||||
/* Skeleton for a conversion module.
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
|
||||
|
@ -132,34 +132,38 @@ gconv_init (struct gconv_step *step)
|
||||
}
|
||||
|
||||
result = GCONV_NOCONV;
|
||||
if (dir != illegal_dir
|
||||
&& ((new_data
|
||||
= (struct iso2022jp_data *) malloc (sizeof (struct iso2022jp_data)))
|
||||
!= NULL))
|
||||
if (dir != illegal_dir)
|
||||
{
|
||||
new_data->dir = dir;
|
||||
new_data->var = var;
|
||||
step->data = new_data;
|
||||
new_data
|
||||
= (struct iso2022jp_data *) malloc (sizeof (struct iso2022jp_data));
|
||||
|
||||
if (dir == from_iso2022jp)
|
||||
result = GCONV_NOMEM;
|
||||
if (new_data != NULL)
|
||||
{
|
||||
step->min_needed_from = MIN_NEEDED_FROM;
|
||||
step->max_needed_from = MAX_NEEDED_FROM;
|
||||
step->min_needed_to = MIN_NEEDED_TO;
|
||||
step->max_needed_to = MIN_NEEDED_TO;
|
||||
}
|
||||
else
|
||||
{
|
||||
step->min_needed_from = MIN_NEEDED_TO;
|
||||
step->max_needed_from = MAX_NEEDED_TO;
|
||||
step->min_needed_to = MIN_NEEDED_FROM;
|
||||
step->max_needed_to = MIN_NEEDED_FROM + 2;
|
||||
}
|
||||
new_data->dir = dir;
|
||||
new_data->var = var;
|
||||
step->data = new_data;
|
||||
|
||||
/* Yes, this is a stateful encoding. */
|
||||
step->stateful = 1;
|
||||
if (dir == from_iso2022jp)
|
||||
{
|
||||
step->min_needed_from = MIN_NEEDED_FROM;
|
||||
step->max_needed_from = MAX_NEEDED_FROM;
|
||||
step->min_needed_to = MIN_NEEDED_TO;
|
||||
step->max_needed_to = MIN_NEEDED_TO;
|
||||
}
|
||||
else
|
||||
{
|
||||
step->min_needed_from = MIN_NEEDED_TO;
|
||||
step->max_needed_from = MAX_NEEDED_TO;
|
||||
step->min_needed_to = MIN_NEEDED_FROM;
|
||||
step->max_needed_to = MIN_NEEDED_FROM + 2;
|
||||
}
|
||||
|
||||
result = GCONV_OK;
|
||||
/* Yes, this is a stateful encoding. */
|
||||
step->stateful = 1;
|
||||
|
||||
result = GCONV_OK;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -106,7 +106,7 @@ static const char *names[] =
|
||||
[HU] = "MSZ_7795.3//",
|
||||
[CU] = "NC_NC00-10//",
|
||||
[FR] = "NF_Z_62-010//",
|
||||
[FR1] = "NF_Z_62-010_1973//", /* Note the we don't have the parenthesis
|
||||
[FR1] = "NF_Z_62-010_1973//", /* Note that we don't have the parenthesis
|
||||
in the name. */
|
||||
[NO] = "NS_4551-1//",
|
||||
[NO2] = "NS_4551-2//",
|
||||
@ -145,33 +145,36 @@ gconv_init (struct gconv_step *step)
|
||||
}
|
||||
|
||||
result = GCONV_NOCONV;
|
||||
if (dir != illegal_dir
|
||||
&& ((new_data
|
||||
= (struct iso646_data *) malloc (sizeof (struct iso646_data)))
|
||||
!= NULL))
|
||||
if (dir != illegal_dir)
|
||||
{
|
||||
new_data->dir = dir;
|
||||
new_data->var = var;
|
||||
step->data = new_data;
|
||||
new_data = (struct iso646_data *) malloc (sizeof (struct iso646_data));
|
||||
|
||||
if (var == from_iso646)
|
||||
result = GCONV_NOMEM;
|
||||
if (new_data != NULL)
|
||||
{
|
||||
step->min_needed_from = MIN_NEEDED_FROM;
|
||||
step->max_needed_from = MIN_NEEDED_FROM;
|
||||
step->min_needed_to = MIN_NEEDED_TO;
|
||||
step->max_needed_to = MIN_NEEDED_TO;
|
||||
}
|
||||
else
|
||||
{
|
||||
step->min_needed_from = MIN_NEEDED_TO;
|
||||
step->max_needed_from = MIN_NEEDED_TO;
|
||||
step->min_needed_to = MIN_NEEDED_FROM;
|
||||
step->max_needed_to = MIN_NEEDED_FROM;
|
||||
}
|
||||
new_data->dir = dir;
|
||||
new_data->var = var;
|
||||
step->data = new_data;
|
||||
|
||||
step->stateful = 0;
|
||||
if (var == from_iso646)
|
||||
{
|
||||
step->min_needed_from = MIN_NEEDED_FROM;
|
||||
step->max_needed_from = MIN_NEEDED_FROM;
|
||||
step->min_needed_to = MIN_NEEDED_TO;
|
||||
step->max_needed_to = MIN_NEEDED_TO;
|
||||
}
|
||||
else
|
||||
{
|
||||
step->min_needed_from = MIN_NEEDED_TO;
|
||||
step->max_needed_from = MIN_NEEDED_TO;
|
||||
step->min_needed_to = MIN_NEEDED_FROM;
|
||||
step->max_needed_to = MIN_NEEDED_FROM;
|
||||
}
|
||||
|
||||
result = GCONV_OK;
|
||||
step->stateful = 0;
|
||||
|
||||
result = GCONV_OK;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
Loading…
Reference in New Issue
Block a user