void *zrealloc(void *ptr, size_t size) { #ifndef HAVE_MALLOC_SIZE void *realptr; #endif size_t oldsize; void *newptr; if (ptr == NULL) return zmalloc(size); #ifdef HAVE_MALLOC_SIZE oldsize = redis_malloc_size(ptr); newptr = realloc(ptr,size); if (!newptr) zmalloc_oom(size); decrement_used_memory(oldsize); increment_used_memory(redis_malloc_size(newptr)); return newptr; #else realptr = (char*)ptr-PREFIX_SIZE; oldsize = *((size_t*)realptr); newptr = realloc(realptr,size+PREFIX_SIZE); if (!newptr) zmalloc_oom(size); *((size_t*)newptr) = size; decrement_used_memory(oldsize); increment_used_memory(size); return (char*)newptr+PREFIX_SIZE; #endif }
void *zmalloc(size_t size) { void *ptr = malloc(size+PREFIX_SIZE); if (!ptr) zmalloc_oom(size); #ifdef HAVE_MALLOC_SIZE increment_used_memory(redis_malloc_size(ptr)); return ptr; #else *((size_t*)ptr) = size; increment_used_memory(size+PREFIX_SIZE); return (char*)ptr+PREFIX_SIZE; #endif }
void *zmalloc(size_t size) { void *ptr = malloc(size+PREFIX_SIZE); if (!ptr) zmalloc_oom(size); *((size_t *) ptr) = size; increment_used_memory(size+PREFIX_SIZE); return (char *) ptr + PREFIX_SIZE; }
void *zrealloc(void *ptr, size_t size) { void *realptr; size_t oldsize; void *newptr; if (ptr == NULL) return zmalloc(size); realptr = (char *) ptr - PREFIX_SIZE; oldsize = *((size_t *) realptr); newptr = realloc(realptr, size+PREFIX_SIZE); if (!newptr) zmalloc_oom(size); *((size_t *) newptr) = size; decrement_used_memory(oldsize); increment_used_memory(size); return (char *) newptr + PREFIX_SIZE; }
static void bt_increment_used_memory(bt *btr, size_t size) { //RL4 "ADD: bt_increment_used_memory: curr: %d size: %d", btr->malloc_size, size); btr->malloc_size += (ull)size; increment_used_memory(size); }