]>
cvs.zerfleddert.de Git - proxmark3-svn/blob - client/jansson/memory.c
2 * Copyright (c) 2009-2016 Petri Lehtinen <petri@digip.org>
3 * Copyright (c) 2011-2012 Basile Starynkevitch <basile@starynkevitch.net>
5 * Jansson is free software; you can redistribute it and/or modify it
6 * under the terms of the MIT license. See LICENSE for details.
13 #include "jansson_private.h"
15 /* C89 allows these to be macros */
19 /* memory function pointers */
20 static json_malloc_t do_malloc
= malloc
;
21 static json_free_t do_free
= free
;
23 void *jsonp_malloc(size_t size
)
28 return (*do_malloc
)(size
);
31 void jsonp_free(void *ptr
)
39 char *jsonp_strdup(const char *str
)
41 return jsonp_strndup(str
, strlen(str
));
44 char *jsonp_strndup(const char *str
, size_t len
)
48 new_str
= jsonp_malloc(len
+ 1);
52 memcpy(new_str
, str
, len
);
57 void json_set_alloc_funcs(json_malloc_t malloc_fn
, json_free_t free_fn
)
59 do_malloc
= malloc_fn
;
63 void json_get_alloc_funcs(json_malloc_t
*malloc_fn
, json_free_t
*free_fn
)
66 *malloc_fn
= do_malloc
;