Add write_file () syscall, CE implement redirections, libarena arena_realloc ()
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m14s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m14s
This commit is contained in:
@@ -76,3 +76,15 @@ void* arena_malloc (struct arena* arena, size_t size) {
|
||||
arena->end->size += size1;
|
||||
return result;
|
||||
}
|
||||
|
||||
void* arena_realloc (struct arena* arena, void* memory, size_t prev_size, size_t new_size) {
|
||||
if (new_size <= prev_size)
|
||||
return memory;
|
||||
|
||||
void* new_memory = arena_malloc (arena, new_size);
|
||||
|
||||
for (size_t i = 0; i < prev_size; i++)
|
||||
((uint8_t*)new_memory)[i] = ((uint8_t*)memory)[i];
|
||||
|
||||
return new_memory;
|
||||
}
|
||||
|
||||
@@ -23,4 +23,6 @@ void arena_destroy (struct arena* arena);
|
||||
|
||||
void* arena_malloc (struct arena* arena, size_t size);
|
||||
|
||||
void* arena_realloc (struct arena* arena, void* memory, size_t prev_size, size_t new_size);
|
||||
|
||||
#endif // _LIBARENA_ARENA_H
|
||||
|
||||
Reference in New Issue
Block a user