This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[commit] add xzalloc()
- From: Andrew Cagney <cagney at gnu dot org>
- To: gdb-patches at sources dot redhat dot com
- Date: Sun, 06 Feb 2005 11:22:52 -0500
- Subject: [commit] add xzalloc()
Fills in a gap,
Andrew
2005-02-03 Andrew Cagney <cagney@gnu.org>
* utils.c (xzalloc): New function.
* defs.h (XZALLOC): Use xzalloc.
(xzalloc): Declare.
* value.c (allocate_value): Allocate a zeroed buffer.
* mdebugread.c (xzalloc): Delete.
Index: defs.h
===================================================================
RCS file: /cvs/src/src/gdb/defs.h,v
retrieving revision 1.179
diff -p -u -r1.179 defs.h
--- defs.h 14 Jan 2005 21:34:35 -0000 1.179
+++ defs.h 6 Feb 2005 15:01:12 -0000
@@ -856,10 +856,13 @@ extern char *savestring (const char *, s
"libiberty.h". */
extern void xfree (void *);
+/* Like xmalloc, but zero the memory. */
+extern void *xzalloc (size_t);
+
/* Utility macros to allocate typed memory. Avoids errors like:
struct foo *foo = xmalloc (sizeof struct bar); and memset (foo,
sizeof (struct foo), 0). */
-#define XZALLOC(TYPE) ((TYPE*) memset (xmalloc (sizeof (TYPE)), 0, sizeof (TYPE)))
+#define XZALLOC(TYPE) ((TYPE*) xzalloc (sizeof (TYPE)))
#define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
#define XCALLOC(NMEMB, TYPE) ((TYPE*) xcalloc ((NMEMB), sizeof (TYPE)))
Index: mdebugread.c
===================================================================
RCS file: /cvs/src/src/gdb/mdebugread.c,v
retrieving revision 1.72
diff -p -u -r1.72 mdebugread.c
--- mdebugread.c 14 Jan 2005 00:59:31 -0000 1.72
+++ mdebugread.c 6 Feb 2005 15:01:13 -0000
@@ -297,17 +297,6 @@ static void handle_psymbol_enumerators (
static char *mdebug_next_symbol_text (struct objfile *);
-/* Allocate zeroed memory */
-
-static void *
-xzalloc (unsigned int size)
-{
- void *p = xmalloc (size);
-
- memset (p, 0, size);
- return p;
-}
-
/* Exported procedure: Builds a symtab from the PST partial one.
Restores the environment in effect when PST was created, delegates
most of the work to an ancillary procedure, and sorts
Index: utils.c
===================================================================
RCS file: /cvs/src/src/gdb/utils.c,v
retrieving revision 1.148
diff -p -u -r1.148 utils.c
--- utils.c 21 Jan 2005 13:14:01 -0000 1.148
+++ utils.c 6 Feb 2005 15:01:13 -0000
@@ -947,6 +947,12 @@ xmalloc (size_t size)
return (val);
}
+void *
+xzalloc (size_t size)
+{
+ return xcalloc (1, size);
+}
+
PTR /* OK: PTR */
xrealloc (PTR ptr, size_t size) /* OK: PTR */
{
Index: value.c
===================================================================
RCS file: /cvs/src/src/gdb/value.c,v
retrieving revision 1.10
diff -p -u -r1.10 value.c
--- value.c 2 Feb 2005 22:34:36 -0000 1.10
+++ value.c 6 Feb 2005 15:01:13 -0000
@@ -83,7 +83,7 @@ allocate_value (struct type *type)
struct value *val;
struct type *atype = check_typedef (type);
- val = (struct value *) xmalloc (sizeof (struct value) + TYPE_LENGTH (atype));
+ val = (struct value *) xzalloc (sizeof (struct value) + TYPE_LENGTH (atype));
val->next = all_values;
all_values = val;
val->type = type;