]> git.saurik.com Git - redis.git/blobdiff - zmalloc.c
SLAVEOF command documented
[redis.git] / zmalloc.c
index b5cb7d6ac7ce80051aa2b9f41f7346cb6ada4e74..c76b2746e30c7063735c3b411205c127d44c99c7 100644 (file)
--- a/zmalloc.c
+++ b/zmalloc.c
@@ -36,9 +36,10 @@ static size_t used_memory = 0;
 void *zmalloc(size_t size) {
     void *ptr = malloc(size+sizeof(size_t));
 
+    if (!ptr) return NULL;
     *((size_t*)ptr) = size;
     used_memory += size+sizeof(size_t);
-    return ptr+sizeof(size_t);
+    return (char*)ptr+sizeof(size_t);
 }
 
 void *zrealloc(void *ptr, size_t size) {
@@ -47,7 +48,7 @@ void *zrealloc(void *ptr, size_t size) {
     void *newptr;
 
     if (ptr == NULL) return zmalloc(size);
-    realptr = ptr-sizeof(size_t);
+    realptr = (char*)ptr-sizeof(size_t);
     oldsize = *((size_t*)realptr);
     newptr = realloc(realptr,size+sizeof(size_t));
     if (!newptr) return NULL;
@@ -55,7 +56,7 @@ void *zrealloc(void *ptr, size_t size) {
     *((size_t*)newptr) = size;
     used_memory -= oldsize;
     used_memory += size;
-    return newptr+sizeof(size_t);
+    return (char*)newptr+sizeof(size_t);
 }
 
 void zfree(void *ptr) {
@@ -63,7 +64,7 @@ void zfree(void *ptr) {
     size_t oldsize;
 
     if (ptr == NULL) return;
-    realptr = ptr-sizeof(size_t);
+    realptr = (char*)ptr-sizeof(size_t);
     oldsize = *((size_t*)realptr);
     used_memory -= oldsize+sizeof(size_t);
     free(realptr);