OSDN Git Service

Committed.
authorKevin Buettner <kevinb@redhat.com>
Sat, 10 Mar 2001 01:22:11 +0000 (01:22 +0000)
committerKevin Buettner <kevinb@redhat.com>
Sat, 10 Mar 2001 01:22:11 +0000 (01:22 +0000)
gdb/ChangeLog
gdb/utils.c

index dafb955..97f93bd 100644 (file)
@@ -1,3 +1,7 @@
+2001-03-09  Kevin Buettner  <kevinb@redhat.com>
+
+       * utils.c (xmrealloc, xcalloc): Return NULL for zero-sized requests.
+
 2001-03-09  Andrew Cagney  <ac131313@redhat.com>
 
        * MAINTAINERS (Write After Approval): Update Philip Blundell.
index 5ece78d..b81e3fd 100644 (file)
@@ -1044,17 +1044,26 @@ xmrealloc (PTR md, PTR ptr, long size)
 {
   register PTR val;
 
-  if (ptr != NULL)
+  if (size == 0)
     {
-      val = mrealloc (md, ptr, size);
+      if (ptr != NULL)
+       mfree (md, ptr);
+      val = NULL;
     }
   else
     {
-      val = mmalloc (md, size);
-    }
-  if (val == NULL)
-    {
-      nomem (size);
+      if (ptr != NULL)
+       {
+         val = mrealloc (md, ptr, size);
+       }
+      else
+       {
+         val = mmalloc (md, size);
+       }
+      if (val == NULL)
+       {
+         nomem (size);
+       }
     }
   return (val);
 }
@@ -1073,9 +1082,16 @@ xmalloc (size_t size)
 PTR
 xcalloc (size_t number, size_t size)
 {
-  void *mem = mcalloc (NULL, number, size);
-  if (mem == NULL)
-    nomem (number * size);
+  void *mem;
+
+  if (number == 0 || size == 0)
+    mem = NULL;
+  else
+    {
+      mem = mcalloc (NULL, number, size);
+      if (mem == NULL)
+       nomem (number * size);
+    }
   return mem;
 }