summaryrefslogtreecommitdiff
path: root/catgets/gencat.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-10-30 18:53:29 +0000
committerUlrich Drepper <drepper@redhat.com>1998-10-30 18:53:29 +0000
commita3b2008a2daf521c322d42dae146eff5a0ae214f (patch)
tree6310aace8bc63cf8812cb5ab05bf1855e973e278 /catgets/gencat.c
parent00995ca9efcd48dd26b810e787ddfe701c23eb41 (diff)
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/gencat.c')
-rw-r--r--catgets/gencat.c16
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 (&current->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;