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 = zmalloc_size(ptr); newptr = realloc(ptr,size); if (!newptr) zmalloc_oom(size); update_zmalloc_stat_free(oldsize); update_zmalloc_stat_alloc(zmalloc_size(newptr),size); 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; update_zmalloc_stat_free(oldsize); update_zmalloc_stat_alloc(size,size); return (char*)newptr+PREFIX_SIZE; #endif }
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 *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); used_memory -= oldsize; used_memory += redis_malloc_size(newptr); return newptr; #else realptr = (char*)ptr-sizeof(size_t); oldsize = *((size_t*)realptr); newptr = realloc(realptr,size+sizeof(size_t)); if (!newptr) zmalloc_oom(size); *((size_t*)newptr) = size; used_memory -= oldsize; used_memory += size; return (char*)newptr+sizeof(size_t); #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 *zcalloc(size_t size) { void *ptr = calloc(1, size+PREFIX_SIZE); if (!ptr) zmalloc_oom(size); #ifdef HAVE_MALLOC_SIZE update_zmalloc_stat_alloc(zmalloc_size(ptr),size); return ptr; #else *((size_t*)ptr) = size; update_zmalloc_stat_alloc(size+PREFIX_SIZE,size); return (char*)ptr+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+sizeof(size_t)); if (!ptr) zmalloc_oom(size); #ifdef HAVE_MALLOC_SIZE used_memory += redis_malloc_size(ptr); return ptr; #else *((size_t*)ptr) = size; used_memory += size+sizeof(size_t); return (char*)ptr+sizeof(size_t); #endif }
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; }