blob: 92e24371ca3fd4b2b2a2777a73ec78f18c22808d [file] [log] [blame] [edit]
/*
* Copyright 2017, Data61, CSIRO (ABN 41 687 119 230)
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <platsupport/io.h>
#include <stdlib.h>
static int ps_stdlib_malloc(UNUSED void *cookie, size_t size, void **ptr)
{
assert(ptr != NULL);
*ptr = malloc(size);
if (*ptr == NULL) {
return ENOMEM;
}
return 0;
}
static int ps_stdlib_calloc(UNUSED void *cookie, size_t nmemb, size_t size, void **ptr)
{
assert(ptr != NULL);
*ptr = calloc(nmemb, size);
if (*ptr == NULL) {
return ENOMEM;
}
return 0;
}
static int ps_stdlib_free(UNUSED void *cookie, UNUSED size_t size, void *ptr)
{
free(ptr);
return 0;
}
int ps_new_stdlib_malloc_ops(ps_malloc_ops_t *ops)
{
ops->malloc = ps_stdlib_malloc;
ops->calloc = ps_stdlib_calloc;
ops->free = ps_stdlib_free;
ops->cookie = NULL;
return 0;
}