From a3b2008a2daf521c322d42dae146eff5a0ae214f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 30 Oct 1998 18:53:29 +0000 Subject: [PATCH] Update. 1998-10-30 Ulrich Drepper * catgets/gencat.c: Do a better job in initializing dynamic memory [PR libc/844]. --- ChangeLog | 5 +++++ catgets/gencat.c | 16 ++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index c55b452ca9..f777cbc3e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +1998-10-30 Ulrich Drepper + + * catgets/gencat.c: Do a better job in initializing dynamic + memory [PR libc/844]. + 1998-10-30 18:11 Ulrich Drepper * iconv/gconv_conf.c (__gconv_read_conf): Don't define as 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 , 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;