From 3c6dcb43004cea75900daeedcf09b5943eb96231 Mon Sep 17 00:00:00 2001 From: OmniBlade Date: Wed, 30 Oct 2019 12:47:52 +0000 Subject: [PATCH] Implements the stdmem.c functions. --- src/BRSRC13/CORE/STD/stdmem.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/BRSRC13/CORE/STD/stdmem.c b/src/BRSRC13/CORE/STD/stdmem.c index e3dc75bc..01b79275 100644 --- a/src/BRSRC13/CORE/STD/stdmem.c +++ b/src/BRSRC13/CORE/STD/stdmem.c @@ -2,27 +2,36 @@ // Global variables char rscid[48]; -br_allocator BrStdlibAllocator; -br_allocator *_BrDefaultAllocator; +br_allocator BrStdlibAllocator = {"malloc", BrStdlibAllocate, BrStdlibFree, BrStdlibInquire, BrStdlibAlign}; +br_allocator *_BrDefaultAllocator = &BrStdlibAllocator; // Offset: 17 // Size: 80 void* BrStdlibAllocate(br_size_t size, br_uint_8 type) { - void *m; + void *m = malloc(size); + + if (m == NULL) { + /* TODO BrFailure(); call*/ + } + + return m; } // Offset: 110 // Size: 38 void BrStdlibFree(void *mem) { + free(mem); } // Offset: 164 // Size: 40 br_size_t BrStdlibInquire(br_uint_8 type) { + return 0; } // Offset: 218 // Size: 40 br_uint_32 BrStdlibAlign(br_uint_8 type) { + return sizeof(void *) }