Merge pull request #246 from dmelani/master
Less surprising behaviour in redisFree() and freeReplyObject()
This commit is contained in:
commit
2602e1b6bc
@ -73,6 +73,9 @@ void freeReplyObject(void *reply) {
|
|||||||
redisReply *r = reply;
|
redisReply *r = reply;
|
||||||
size_t j;
|
size_t j;
|
||||||
|
|
||||||
|
if (r == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
switch(r->type) {
|
switch(r->type) {
|
||||||
case REDIS_REPLY_INTEGER:
|
case REDIS_REPLY_INTEGER:
|
||||||
break; /* Nothing to free */
|
break; /* Nothing to free */
|
||||||
@ -1001,6 +1004,8 @@ static redisContext *redisContextInit(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void redisFree(redisContext *c) {
|
void redisFree(redisContext *c) {
|
||||||
|
if (c == NULL)
|
||||||
|
return;
|
||||||
if (c->fd > 0)
|
if (c->fd > 0)
|
||||||
close(c->fd);
|
close(c->fd);
|
||||||
if (c->obuf != NULL)
|
if (c->obuf != NULL)
|
||||||
|
15
test.c
15
test.c
@ -318,6 +318,19 @@ static void test_reply_reader(void) {
|
|||||||
redisReaderFree(reader);
|
redisReaderFree(reader);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_free_null(void) {
|
||||||
|
void *redisContext = NULL;
|
||||||
|
void *reply = NULL;
|
||||||
|
|
||||||
|
test("Don't fail when redisFree is passed a NULL value: ");
|
||||||
|
redisFree(redisContext);
|
||||||
|
test_cond(redisContext == NULL);
|
||||||
|
|
||||||
|
test("Don't fail when freeReplyObject is passed a NULL value: ");
|
||||||
|
freeReplyObject(reply);
|
||||||
|
test_cond(reply == NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static void test_blocking_connection_errors(void) {
|
static void test_blocking_connection_errors(void) {
|
||||||
redisContext *c;
|
redisContext *c;
|
||||||
|
|
||||||
@ -702,6 +715,7 @@ int main(int argc, char **argv) {
|
|||||||
test_format_commands();
|
test_format_commands();
|
||||||
test_reply_reader();
|
test_reply_reader();
|
||||||
test_blocking_connection_errors();
|
test_blocking_connection_errors();
|
||||||
|
test_free_null();
|
||||||
|
|
||||||
printf("\nTesting against TCP connection (%s:%d):\n", cfg.tcp.host, cfg.tcp.port);
|
printf("\nTesting against TCP connection (%s:%d):\n", cfg.tcp.host, cfg.tcp.port);
|
||||||
cfg.type = CONN_TCP;
|
cfg.type = CONN_TCP;
|
||||||
@ -723,6 +737,7 @@ int main(int argc, char **argv) {
|
|||||||
test_blocking_connection(cfg);
|
test_blocking_connection(cfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (fails) {
|
if (fails) {
|
||||||
printf("*** %d TESTS FAILED ***\n", fails);
|
printf("*** %d TESTS FAILED ***\n", fails);
|
||||||
return 1;
|
return 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user