add pic_realloc
This commit is contained in:
parent
40a971230d
commit
b60e4df3d9
|
@ -31,6 +31,7 @@ typedef struct {
|
||||||
typedef pic_value (*pic_func_t)(pic_state *);
|
typedef pic_value (*pic_func_t)(pic_state *);
|
||||||
|
|
||||||
void *pic_alloc(pic_state *, size_t);
|
void *pic_alloc(pic_state *, size_t);
|
||||||
|
void *pic_realloc(pic_state *, void *, size_t);
|
||||||
struct pic_object *pic_obj_alloc(pic_state *, size_t, enum pic_tt);
|
struct pic_object *pic_obj_alloc(pic_state *, size_t, enum pic_tt);
|
||||||
void pic_free(pic_state *, void *);
|
void pic_free(pic_state *, void *);
|
||||||
|
|
||||||
|
|
10
src/gc.c
10
src/gc.c
|
@ -43,6 +43,16 @@ pic_alloc(pic_state *pic, size_t size)
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *
|
||||||
|
pic_realloc(pic_state *pic, void *ptr, size_t size)
|
||||||
|
{
|
||||||
|
ptr = realloc(ptr, size);
|
||||||
|
if (ptr == NULL) {
|
||||||
|
pic_raise(pic, "memory exhausted");
|
||||||
|
}
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
pic_free(pic_state *pic, void *ptr)
|
pic_free(pic_state *pic, void *ptr)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue