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 zfree(void *ptr) { #ifndef HAVE_MALLOC_SIZE void *realptr; size_t oldsize; #endif if (ptr == NULL) return; #ifdef HAVE_MALLOC_SIZE decrement_used_memory(redis_malloc_size(ptr)); free(ptr); #else realptr = (char*)ptr-PREFIX_SIZE; oldsize = *((size_t*)realptr); decrement_used_memory(oldsize+PREFIX_SIZE); free(realptr); #endif }
void zfree(void *ptr) { void *realptr; size_t oldsize; if (ptr == NULL) return; realptr = (char *) ptr - PREFIX_SIZE; oldsize = *((char *) realptr); decrement_used_memory(oldsize + PREFIX_SIZE); free(realptr); }
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_decrement_used_memory(bt *btr, size_t size) { //RL4 "LESS: bt_decrement_used_memory: curr: %d size: %d", btr->malloc_size, size); btr->malloc_size -= (ull)size; decrement_used_memory(size); }