21 lines
386 B
C
21 lines
386 B
C
/*
|
|
* Copyright (c) Camden Dixie O'Brien
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
#include "memory_pool.h"
|
|
|
|
#include <stddef.h>
|
|
|
|
void init_memory_pool(memory_pool_t *pool)
|
|
{
|
|
pool->free_pointer = &pool->buffer[0];
|
|
}
|
|
|
|
expression_t *allocate_expression(memory_pool_t *pool)
|
|
{
|
|
if (pool->free_pointer > pool->buffer + MEMORY_POOL_SIZE)
|
|
return NULL;
|
|
return pool->free_pointer++;
|
|
}
|