From 732407f1bf12364375162e8fb73816532a5d139c Mon Sep 17 00:00:00 2001 From: Damien Date: Sun, 29 Dec 2013 19:33:23 +0000 Subject: Change memory allocation API to require size for free and realloc. --- py/vstr.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'py/vstr.c') diff --git a/py/vstr.c b/py/vstr.c index f6652e6f1..98cf02725 100644 --- a/py/vstr.c +++ b/py/vstr.c @@ -11,7 +11,6 @@ void vstr_init(vstr_t *vstr) { vstr->len = 0; vstr->buf = m_new(char, vstr->alloc); if (vstr->buf == NULL) { - m_free(vstr); vstr->had_error = true; return; } @@ -20,7 +19,7 @@ void vstr_init(vstr_t *vstr) { } void vstr_clear(vstr_t *vstr) { - m_free(vstr->buf); + m_del(char, vstr->buf, vstr->alloc); vstr->buf = NULL; } @@ -35,8 +34,8 @@ vstr_t *vstr_new(void) { void vstr_free(vstr_t *vstr) { if (vstr != NULL) { - m_free(vstr->buf); - m_free(vstr); + m_del(char, vstr->buf, vstr->alloc); + m_del_obj(vstr_t, vstr); } } @@ -67,7 +66,7 @@ int vstr_len(vstr_t *vstr) { bool vstr_ensure_extra(vstr_t *vstr, int size) { if (vstr->len + size + 1 > vstr->alloc) { int new_alloc = ROUND_ALLOC((vstr->len + size + 1) * 2); - char *new_buf = m_renew(char, vstr->buf, new_alloc); + char *new_buf = m_renew(char, vstr->buf, vstr->alloc, new_alloc); if (new_buf == NULL) { vstr->had_error = true; return false; -- cgit v1.2.3