mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-27 23:31:44 +00:00
malloc: set errno on out-of-memory
This commit is contained in:
parent
3911cb2fde
commit
c9f832b2c9
@ -27,11 +27,21 @@ void referenceMyMalloc() {}
|
|||||||
|
|
||||||
void *_malloc_r(struct _reent *reent_ptr, size_t sz)
|
void *_malloc_r(struct _reent *reent_ptr, size_t sz)
|
||||||
{
|
{
|
||||||
return NewPtr(sz); // TODO: set errno
|
Ptr p = NewPtr(sz);
|
||||||
|
|
||||||
|
if(!p)
|
||||||
|
errno = ENOMEM;
|
||||||
|
|
||||||
|
return p;
|
||||||
}
|
}
|
||||||
void *_calloc_r(struct _reent *reent_ptr, size_t sz, size_t sz2)
|
void *_calloc_r(struct _reent *reent_ptr, size_t sz, size_t sz2)
|
||||||
{
|
{
|
||||||
return NewPtrClear(sz*sz2); // TODO: set errno
|
Ptr p = NewPtrClear(sz*sz2);
|
||||||
|
|
||||||
|
if(!p)
|
||||||
|
errno = ENOMEM;
|
||||||
|
|
||||||
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
void _free_r(struct _reent *reent_ptr, void *ptr)
|
void _free_r(struct _reent *reent_ptr, void *ptr)
|
||||||
@ -44,7 +54,12 @@ void *_realloc_r(struct _reent *reent_ptr, void *ptr, size_t sz)
|
|||||||
{
|
{
|
||||||
if(ptr == NULL)
|
if(ptr == NULL)
|
||||||
{
|
{
|
||||||
return NewPtr(sz);
|
Ptr p = NewPtr(sz);
|
||||||
|
|
||||||
|
if(!p)
|
||||||
|
errno = ENOMEM;
|
||||||
|
|
||||||
|
return p;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user