From 3ceeb0be95874fe867f25004618c31ca8e23ecf4 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 25 Jun 2013 15:38:28 +0900 Subject: add mrb_malloc_simple() that returns NULL on error --- src/gc.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src') diff --git a/src/gc.c b/src/gc.c index 3e33c052c..7eee61dc1 100644 --- a/src/gc.c +++ b/src/gc.c @@ -182,6 +182,19 @@ mrb_malloc(mrb_state *mrb, size_t len) return mrb_realloc(mrb, 0, len); } +void* +mrb_malloc_simple(mrb_state *mrb, size_t len) +{ + void *p2; + + p2 = (mrb->allocf)(mrb, 0, len, mrb->ud); + if (!p2 && len > 0 && mrb->heaps) { + mrb_garbage_collect(mrb); + p2 = (mrb->allocf)(mrb, 0, len, mrb->ud); + } + return p2; +} + void* mrb_calloc(mrb_state *mrb, size_t nelem, size_t len) { -- cgit v1.2.3