diff options
author | Damien <damien.p.george@gmail.com> | 2013-12-29 19:33:23 +0000 |
---|---|---|
committer | Damien <damien.p.george@gmail.com> | 2013-12-29 19:33:23 +0000 |
commit | 732407f1bf12364375162e8fb73816532a5d139c (patch) | |
tree | bf795d7bab01d6d603eec761affac7091be9606a /py/malloc.c | |
parent | a1c8e5737cebba08909104d47c1dfd16ef80e6a1 (diff) | |
download | micropython-732407f1bf12364375162e8fb73816532a5d139c.tar.gz micropython-732407f1bf12364375162e8fb73816532a5d139c.zip |
Change memory allocation API to require size for free and realloc.
Diffstat (limited to 'py/malloc.c')
-rw-r--r-- | py/malloc.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/py/malloc.c b/py/malloc.c index 2f8b5f78b5..c65d38a968 100644 --- a/py/malloc.c +++ b/py/malloc.c @@ -5,12 +5,6 @@ static int total_bytes_allocated = 0; -void m_free(void *ptr) { - if (ptr != NULL) { - free(ptr); - } -} - void *m_malloc(int num_bytes) { if (num_bytes == 0) { return NULL; @@ -37,20 +31,26 @@ void *m_malloc0(int num_bytes) { return ptr; } -void *m_realloc(void *ptr, int num_bytes) { - if (num_bytes == 0) { +void *m_realloc(void *ptr, int old_num_bytes, int new_num_bytes) { + if (new_num_bytes == 0) { free(ptr); return NULL; } - ptr = realloc(ptr, num_bytes); + ptr = realloc(ptr, new_num_bytes); if (ptr == NULL) { - printf("could not allocate memory, reallocating %d bytes\n", num_bytes); + printf("could not allocate memory, reallocating %d bytes\n", new_num_bytes); return NULL; } - total_bytes_allocated += num_bytes; + total_bytes_allocated += new_num_bytes; return ptr; } +void m_free(void *ptr, int num_bytes) { + if (ptr != NULL) { + free(ptr); + } +} + int m_get_total_bytes_allocated(void) { return total_bytes_allocated; } |