Fix issue with reserve for array.

This commit is contained in:
Patrick Pelissier committed 2017-07-11 09:32:44 +02:00
1 parent ae2ac8be2a
commit f08685b097
1 file changed
+12 -6
+12 -6
View File
@@ -315,13 +315,19 @@
if (v->size > alloc) { \
alloc = v->size; \
} \
type *ptr = M_GET_REALLOC oplist (type, v->ptr, alloc); \
if (M_UNLIKELY (ptr == NULL) ) { \
M_MEMORY_FULL(sizeof (type) * alloc); \
return; \
if (M_UNLIKELY (alloc == 0)) { \
M_GET_FREE oplist (v->ptr); \
v->size = v->alloc = 0; \
v->ptr = NULL; \
} else { \
type *ptr = M_GET_REALLOC oplist (type, v->ptr, alloc); \
if (M_UNLIKELY (ptr == NULL) ) { \
M_MEMORY_FULL(sizeof (type) * alloc); \
return; \
} \
v->ptr = ptr; \
v->alloc = alloc; \
} \
v->ptr = ptr; \
v->alloc = alloc; \
ARRAYI_CONTRACT(v); \
} \
\