diff options
| author | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2010-10-19 16:48:19 +0200 | 
|---|---|---|
| committer | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2010-10-19 16:48:19 +0200 | 
| commit | 206868de060bbfeb2745dad2f410691ad2fc62f8 (patch) | |
| tree | 1ed9f586266ee7297460c4df6b650d2127bc84bb | |
| parent | ba42ab2ef8fcf9bf88c0d68414d24c3bb00e00c8 (diff) | |
| download | hiredict-206868de060bbfeb2745dad2f410691ad2fc62f8.tar.xz | |
Make error callback argument const
| -rw-r--r-- | extra/hiredis/libevent.h | 5 | ||||
| -rw-r--r-- | libevent-example.c | 7 | 
2 files changed, 5 insertions, 7 deletions
| diff --git a/extra/hiredis/libevent.h b/extra/hiredis/libevent.h index 63d6663..46b5503 100644 --- a/extra/hiredis/libevent.h +++ b/extra/hiredis/libevent.h @@ -3,7 +3,7 @@  #include <hiredis.h>  /* Prototype for the error callback. */ -typedef void (redisErrorCallback)(redisContext*); +typedef void (redisErrorCallback)(const redisContext*);  /* This struct enables us to pass both the events and the   * redisContext to the read and write handlers. */ @@ -73,11 +73,12 @@ void redisLibEventOnFree(redisContext *c, void *privdata) {      free(e);  } -redisContext *redisLibEventConnect(const char *ip, int port, redisErrorCallback *err, struct event_base *base) { +redisContext *redisLibEventConnect(struct event_base *base, redisErrorCallback *err, const char *ip, int port) {      redisEvents *e;      redisContext *c = redisConnectNonBlock(ip, port, NULL);      if (c->error != NULL) {          err(c); +        redisFree(c);          return NULL;      } diff --git a/libevent-example.c b/libevent-example.c index dd36604..0acdd3f 100644 --- a/libevent-example.c +++ b/libevent-example.c @@ -11,18 +11,15 @@ void getCallback(redisContext *c, redisReply *reply, const void *privdata) {      redisDisconnect(c);  } -void errorCallback(redisContext *c) { +void errorCallback(const redisContext *c) {      printf("Error: %s\n", c->error); - -    /* Clean up the context when there was an error */ -    redisFree(c);  }  int main (int argc, char **argv) {      signal(SIGPIPE, SIG_IGN);      struct event_base *base = event_base_new(); -    redisContext *c = redisLibEventConnect("127.0.0.1", 6379, errorCallback, base); +    redisContext *c = redisLibEventConnect(base, errorCallback, "127.0.0.1", 6379);      if (c == NULL) return 1;      redisCommand(c, "SET key %b", argv[argc-1], strlen(argv[argc-1])); | 
