27 lines
620 B
C
27 lines
620 B
C
#include "module_system.h"
|
|
|
|
#include <malloc.h>
|
|
|
|
void *BZ_MODULES[BZ_ENGINE_MODULE_COUNT] = {NULL,};
|
|
|
|
bool bzModuleIsAllocated(BzModule module) {
|
|
return BZ_MODULES[module] != NULL;
|
|
}
|
|
|
|
void *bzModuleRetrieve(BzModule module) {
|
|
return BZ_MODULES[module];
|
|
}
|
|
|
|
void *bzModuleAllocate(BzModule module, size_t sizeBytes) {
|
|
if (bzModuleIsAllocated(module)) {
|
|
bzModuleFree(module);
|
|
}
|
|
BZ_MODULES[module] = calloc(1, sizeBytes);
|
|
return BZ_MODULES[module];
|
|
}
|
|
|
|
void bzModuleFree(BzModule module) {
|
|
if (bzModuleIsAllocated(module))
|
|
free(BZ_MODULES[module]);
|
|
BZ_MODULES[module] = NULL;
|
|
} |