diff options
author | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2010-11-15 21:53:22 +0100 |
---|---|---|
committer | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2010-11-15 21:53:22 +0100 |
commit | 09a0fe626fa7d53666a3fa53aca79880f8fe3bff (patch) | |
tree | 19e9d88dbf009d2b029b7716ba7923cbeee912ca | |
parent | 0b27639e0974df09e631cafebc46e43cf1a2f018 (diff) |
Explicitly initialize struct fields to NULL
-rw-r--r-- | async.c | 13 | ||||
-rw-r--r-- | async.h | 4 |
2 files changed, 14 insertions, 3 deletions
@@ -38,8 +38,17 @@ void __redisAppendCommand(redisContext *c, char *cmd, size_t len); static redisAsyncContext *redisAsyncInitialize(redisContext *c) { redisAsyncContext *ac = realloc(c,sizeof(redisAsyncContext)); - /* Set all bytes in the async part of the context to 0 */ - memset(ac+sizeof(redisContext),0,sizeof(redisAsyncContext)-sizeof(redisContext)); + ac->err = 0; + ac->errstr = NULL; + ac->data = NULL; + ac->evAddRead = NULL; + ac->evDelRead = NULL; + ac->evAddWrite = NULL; + ac->evDelWrite = NULL; + ac->evCleanup = NULL; + ac->onDisconnect = NULL; + ac->replies.head = NULL; + ac->replies.tail = NULL; return ac; } @@ -58,6 +58,9 @@ typedef struct redisAsyncContext { int err; char *errstr; + /* Not used by hiredis */ + void *data; + /* Called when the library expects to start reading/writing. * The supplied functions should be idempotent. */ void (*evAddRead)(void *privdata); @@ -65,7 +68,6 @@ typedef struct redisAsyncContext { void (*evAddWrite)(void *privdata); void (*evDelWrite)(void *privdata); void (*evCleanup)(void *privdata); - void *data; /* Called when either the connection is terminated due to an error or per * user request. The status is set accordingly (REDIS_OK, REDIS_ERR). */ |