2003-04-16 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Wed, 16 Apr 2003 14:43:03 +0000 (14:43 +0000)
committerAndrew Cagney <cagney@redhat.com>
Wed, 16 Apr 2003 14:43:03 +0000 (14:43 +0000)
* utils.c (xmmalloc): Always allocate something, matches
libiberty/xmalloc's semantics.
(xmrealloc, xmcalloc): Ditto.

gdb/ChangeLog
gdb/utils.c

index fc874f0b223e769d92d9b8c0a5958ee7485ddefe..ce1361386fbf1896ba28dfe682fb2a14acdc4e8f 100644 (file)
@@ -1,3 +1,9 @@
+2003-04-16  Andrew Cagney  <cagney@redhat.com>
+
+       * utils.c (xmmalloc): Always allocate something, matches
+       libiberty/xmalloc's semantics.
+       (xmrealloc, xmcalloc): Ditto.
+
 2003-04-16  Andrew Cagney  <cagney@redhat.com>
 
        * frame.c (get_prev_frame): Do not initialize "unwind" or "type",
index e72aec72a2baf113fdb903a598175adfe544f0e1..3d820deae0b661527fd8eff1e287ceb59409426d 100644 (file)
@@ -1073,16 +1073,15 @@ xmmalloc (void *md, size_t size)
 {
   void *val;
 
+  /* See libiberty/xmalloc.c.  This function need's to match that's
+     semantics.  It never returns NULL.  */
   if (size == 0)
-    {
-      val = NULL;
-    }
-  else
-    {
-      val = mmalloc (md, size);
-      if (val == NULL)
-       nomem (size);
-    }
+    size = 1;
+
+  val = mmalloc (md, size);
+  if (val == NULL)
+    nomem (size);
+
   return (val);
 }
 
@@ -1091,27 +1090,18 @@ xmrealloc (void *md, void *ptr, size_t size)
 {
   void *val;
 
+  /* See libiberty/xmalloc.c.  This function need's to match that's
+     semantics.  It never returns NULL.  */
   if (size == 0)
-    {
-      if (ptr != NULL)
-       mfree (md, ptr);
-      val = NULL;
-    }
+    size = 1;
+
+  if (ptr != NULL)
+    val = mrealloc (md, ptr, size);
   else
-    {
-      if (ptr != NULL)
-       {
-         val = mrealloc (md, ptr, size);
-       }
-      else
-       {
-         val = mmalloc (md, size);
-       }
-      if (val == NULL)
-       {
-         nomem (size);
-       }
-    }
+    val = mmalloc (md, size);
+  if (val == NULL)
+    nomem (size);
+
   return (val);
 }
 
@@ -1119,14 +1109,19 @@ void *
 xmcalloc (void *md, size_t number, size_t size)
 {
   void *mem;
+
+  /* See libiberty/xmalloc.c.  This function need's to match that's
+     semantics.  It never returns NULL.  */
   if (number == 0 || size == 0)
-    mem = NULL;
-  else
     {
-      mem = mcalloc (md, number, size);
-      if (mem == NULL)
-       nomem (number * size);
+      number = 1;
+      size = 1;
     }
+
+  mem = mcalloc (md, number, size);
+  if (mem == NULL)
+    nomem (number * size);
+
   return mem;
 }