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;
}
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)
{