Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenlib/intern/buffer.c
| Context not available. | |||||
| static void *buffer_realloc(BLI_Buffer *buffer, int len) | static void *buffer_realloc(BLI_Buffer *buffer, int len) | ||||
| { | { | ||||
| return ((buffer->flag & BLI_BUFFER_USE_CALLOC) ? | if (buffer->flag & BLI_BUFFER_USE_CALLOC) { | ||||
| MEM_recallocN_id : MEM_reallocN_id) | return MEM_recallocN(buffer->data, buffer->elem_size * len); | ||||
| (buffer->data, buffer->elem_size * len, "BLI_Buffer.data"); | } | ||||
| else { | |||||
| return MEM_reallocN(buffer->data, buffer->elem_size * len); | |||||
| } | |||||
| } | } | ||||
| void BLI_buffer_resize(BLI_Buffer *buffer, int new_count) | void BLI_buffer_resize(BLI_Buffer *buffer, int new_count) | ||||
| { | { | ||||
| if (UNLIKELY(new_count > buffer->alloc_count)) { | if (new_count > buffer->alloc_count) { | ||||
| if (buffer->flag & BLI_BUFFER_USE_STATIC) { | if (buffer->flag & BLI_BUFFER_USE_STATIC) { | ||||
| void *orig = buffer->data; | void *orig = buffer->data; | ||||
| Context not available. | |||||
| buffer->alloc_count = new_count; | buffer->alloc_count = new_count; | ||||
| } | } | ||||
| buffer->data = buffer_realloc(buffer, buffer->alloc_count); | if (buffer->data) { | ||||
| buffer->data = buffer_realloc(buffer, buffer->alloc_count); | |||||
| } | |||||
| else { | |||||
| buffer->data = buffer_alloc(buffer, buffer->alloc_count); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| Context not available. | |||||