Move filesys_init into main_thread.
[pintos-anon] / src / threads / malloc.c
index 263651dc6adc28dddf7dc6940394c8b2d90566ea..72b441488393d862daed5c1a8ba367314089a90a 100644 (file)
@@ -71,7 +71,7 @@ malloc (size_t size)
       break;
   if (d == descs + desc_cnt) 
     {
-      printk ("can't malloc %zu byte object\n", size);
+      printk ("malloc: %zu byte allocation too big\n", size);
       return NULL; 
     }
   
@@ -97,6 +97,23 @@ malloc (size_t size)
   return get_free_slot (d);
 }
 
+void *
+calloc (size_t a, size_t b) 
+{
+  void *p;
+  size_t size;
+
+  size = a * b;
+  if (size < a || size < b)
+    return NULL;
+
+  p = malloc (size);
+  if (p != NULL)
+    memset (p, 0, size);
+
+  return p;
+}
+
 void
 free (void *p) 
 {