Your problem is that you're calling printf on a static char array. If you're going to use printf you have to use it on the .ptr (pointer) field of the static array. Replace this call:
printf("Connection error: %s\n", c.errstr); with printf("Connection error: %s\n", c.errstr.ptr); On my end I get: Connection error: Connection refused Also I think you should replace the "int integer" in struct redisReply to "long integer". I think `long long` in C is 8 bytes, which is the equivalent to D's long type.