From: drepper Date: Thu, 4 May 2000 02:05:35 +0000 (+0000) Subject: (extend_alias_table): Return an error indicator. X-Git-Tag: glibc_2-1-91~1598 X-Git-Url: http://git.csclub.uwaterloo.ca/?p=kopensolaris-gnu%2Fglibc.git;a=commitdiff_plain;h=e08d873ac2589534ab525fcdef6b0e5489c9281d (extend_alias_table): Return an error indicator. (read_alias_file): Bail out if extend_alias_table fails. --- diff --git a/intl/localealias.c b/intl/localealias.c index d851bfa946..57c693dcde 100644 --- a/intl/localealias.c +++ b/intl/localealias.c @@ -162,7 +162,7 @@ static size_t maxmap; /* Prototypes for local functions. */ static size_t read_alias_file PARAMS ((const char *fname, int fname_len)) internal_function; -static void extend_alias_table PARAMS ((void)); +static int extend_alias_table PARAMS ((void)); static int alias_compare PARAMS ((const struct alias_map *map1, const struct alias_map *map2)); @@ -330,7 +330,11 @@ read_alias_file (fname, fname_len) *cp++ = '\0'; if (nmap >= maxmap) - extend_alias_table (); + if (__builtin_expect (extend_alias_table (), 0)) + { + FREE_BLOCKS (block_list); + return added; + } alias_len = strlen (alias) + 1; value_len = strlen (value) + 1; @@ -378,7 +382,7 @@ read_alias_file (fname, fname_len) } -static void +static int extend_alias_table () { size_t new_size; @@ -389,10 +393,11 @@ extend_alias_table () * sizeof (struct alias_map))); if (new_map == NULL) /* Simply don't extend: we don't have any more core. */ - return; + return -1; map = new_map; maxmap = new_size; + return 0; }