diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-10-30 18:53:29 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-10-30 18:53:29 +0000 |
commit | a3b2008a2daf521c322d42dae146eff5a0ae214f (patch) | |
tree | 6310aace8bc63cf8812cb5ab05bf1855e973e278 /catgets | |
parent | 00995ca9efcd48dd26b810e787ddfe701c23eb41 (diff) | |
download | glibc-a3b2008a2daf521c322d42dae146eff5a0ae214f.tar glibc-a3b2008a2daf521c322d42dae146eff5a0ae214f.tar.gz glibc-a3b2008a2daf521c322d42dae146eff5a0ae214f.tar.bz2 glibc-a3b2008a2daf521c322d42dae146eff5a0ae214f.zip |
Update.
1998-10-30 Ulrich Drepper <drepper@cygnus.com>
* catgets/gencat.c: Do a better job in initializing dynamic
memory [PR libc/844].
Diffstat (limited to 'catgets')
-rw-r--r-- | catgets/gencat.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/catgets/gencat.c b/catgets/gencat.c index d1c92a035b..d632f82bc4 100644 --- a/catgets/gencat.c +++ b/catgets/gencat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. @@ -135,6 +135,7 @@ static struct argp argp = /* Wrapper functions with error checking for standard functions. */ extern void *xmalloc (size_t n); +extern void *xcalloc (size_t n, size_t s); /* Prototypes for local functions. */ static void error_print (void); @@ -275,16 +276,13 @@ read_input_file (struct catalog *current, const char *fname) /* If we haven't seen anything yet, allocate result structure. */ if (current == NULL) { - current = (struct catalog *) xmalloc (sizeof (*current)); - - current->all_sets = NULL; - current->total_messages = 0; - current->last_set = 0; - current->current_set = find_set (current, NL_SETD); + current = (struct catalog *) xcalloc (1, sizeof (*current)); #define obstack_chunk_alloc malloc #define obstack_chunk_free free obstack_init (¤t->mem_pool); + + current->current_set = find_set (current, NL_SETD); } buf = NULL; @@ -879,10 +877,8 @@ find_set (struct catalog *current, int number) result = result->next; /* Prepare new message set. */ - result = (struct set_list *) xmalloc (sizeof (*result)); + result = (struct set_list *) xcalloc (1, sizeof (*result)); result->number = number; - result->deleted = 0; - result->messages = NULL; result->next = current->all_sets; current->all_sets = result; |