lokinet/llarp/mem_std.cpp
sachaaaaa c7940076bf Remove most of the extern "C"
remove extern "C"
2018-07-09 14:34:09 +10:00

44 lines
719 B
C++

#define NO_JEMALLOC
#include <llarp/mem.h>
#include <cstdlib>
#include <cstring>
struct llarp_alloc
{
void *(*alloc)(struct llarp_alloc *mem, size_t sz, size_t align);
void (*free)(struct llarp_alloc *mem, void *ptr);
};
namespace llarp
{
void *
std_malloc(struct llarp_alloc *mem, size_t sz, size_t align)
{
(void)mem;
(void)align;
void *ptr = malloc(sz);
if(ptr)
{
std::memset(ptr, 0, sz);
return ptr;
}
abort();
}
void
std_free(struct llarp_alloc *mem, void *ptr)
{
(void)mem;
if(ptr)
free(ptr);
}
} // namespace llarp
void
llarp_mem_stdlib(struct llarp_alloc *mem)
{
mem->alloc = llarp::std_malloc;
mem->free = llarp::std_free;
}