Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
kill dupplicated code between legacy interface and actual implementations
authorMartin Quinson <martin.quinson@loria.fr>
Wed, 1 Feb 2012 17:01:00 +0000 (18:01 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Wed, 1 Feb 2012 17:01:00 +0000 (18:01 +0100)
src/xbt/mmalloc/mm_legacy.c
src/xbt/mmalloc/mrealloc.c

index 0de0dd2..edff857 100644 (file)
@@ -48,16 +48,12 @@ void *malloc(size_t n)
 
 void *calloc(size_t nmemb, size_t size)
 {
-  size_t total_size = nmemb * size;
   xbt_mheap_t mdp = __mmalloc_current_heap ?: (xbt_mheap_t) mmalloc_preinit();
 
   LOCK(mdp);
-  void *ret = mmalloc(mdp, total_size);
+  void *ret = mcalloc(mdp, nmemb,size);
   UNLOCK(mdp);
 
-  /* Fill the allocated memory with zeroes to mimic calloc behaviour */
-  memset(ret, '\0', total_size);
-
   return ret;
 }
 
@@ -67,14 +63,7 @@ void *realloc(void *p, size_t s)
   xbt_mheap_t mdp = __mmalloc_current_heap ?: (xbt_mheap_t) mmalloc_preinit();
 
   LOCK(mdp);
-  if (s) {
-    if (p)
-      ret = mrealloc(mdp, p, s);
-    else
-      ret = mmalloc(mdp, s);
-  } else {
-    mfree(mdp, p);
-  }
+  ret = mrealloc(mdp, p, s);
   UNLOCK(mdp);
 
   return ret;
index 9d20e03..3dd60c2 100644 (file)
@@ -28,9 +28,9 @@ void *mrealloc(xbt_mheap_t mdp, void *ptr, size_t size)
 
   if (size == 0) {
     mfree(mdp, ptr);
-    return (mmalloc(mdp, 0));
+    return mmalloc(mdp, 0);
   } else if (ptr == NULL) {
-    return (mmalloc(mdp, size));
+    return mmalloc(mdp, size);
   }