Alejandro Mery | cdc9717 | 2014-12-04 23:15:27 +0100 | [diff] [blame] | 1 | #include "private-libwebsockets.h" |
| 2 | |
| 3 | static void *_realloc(void *ptr, size_t size) |
| 4 | { |
| 5 | if (size) |
| 6 | return realloc(ptr, size); |
| 7 | else if (ptr) |
| 8 | free(ptr); |
| 9 | return NULL; |
| 10 | } |
| 11 | |
| 12 | void *(*_lws_realloc)(void *ptr, size_t size) = _realloc; |
| 13 | |
| 14 | void *lws_realloc(void *ptr, size_t size) |
| 15 | { |
| 16 | return _lws_realloc(ptr, size); |
| 17 | } |
| 18 | |
| 19 | void *lws_zalloc(size_t size) |
| 20 | { |
| 21 | void *ptr = _lws_realloc(NULL, size); |
| 22 | if (ptr) |
| 23 | memset(ptr, 0, size); |
| 24 | return ptr; |
| 25 | } |
| 26 | |
| 27 | void lws_set_allocator(void *(*cb)(void *ptr, size_t size)) |
| 28 | { |
| 29 | _lws_realloc = cb; |
| 30 | } |