Browse Source

add ARENA_ALLOC() macro function for arenaAllocateBlock()

main
cinnaboot 5 years ago
parent
commit
3680bc7d61
  1. 3
      src/asset.cpp
  2. 1
      src/asset.h

3
src/asset.cpp

@ -75,8 +75,7 @@ arenaCopyCStr(memory_arena* arena, const char* input, u32 max_len)
{ {
u32 name_len = std::strlen(input) + 1; u32 name_len = std::strlen(input) + 1;
assert(name_len < max_len); assert(name_len < max_len);
// TODO: make an arena alloc macro char* out = ARENA_ALLOC(arena, name_len, char);
char* out = (char*) arenaAllocateBlock(arena, name_len);
std::strncpy(out, input, name_len); std::strncpy(out, input, name_len);
return out; return out;
} }

1
src/asset.h

@ -33,6 +33,7 @@ void arenaFree(memory_arena*& arena);
uint arenaGetFreeSize(memory_arena* arena); uint arenaGetFreeSize(memory_arena* arena);
#define ARENA_ALLOC(arena, len, type) (type*) arenaAllocateBlock(arena, len)
void* arenaAllocateBlock(memory_arena* arena, size_t block_size); void* arenaAllocateBlock(memory_arena* arena, size_t block_size);
#define MAX_NAME_LENGTH 256 #define MAX_NAME_LENGTH 256

Loading…
Cancel
Save