Problem with Hiredis Binding

Joshua Reusch yoschi at
Thu Jan 5 10:14:27 PST 2012

Am 05.01.2012 17:21, schrieb Puming Zhao:
> Hi, I'm new in D programming, and does not have much C experience either.  After
> reading TDPL book and playing with some sample codes, I came to decide to try
> something more `practical`. I began with a Redis client binding from Hiredis C code.
> Hiredis is a small lib, and seems very simple to bind to D.
> My code on github:
> But I went into problems that I don't know how to solve. When running example.d I
> went into segment fault, and can't get redisReply from a redis command. I tried to
> google it but got nothing.
> So my question is, could some one with more knowledge in redis or C/D look into my
> code and see what's wrong ? Or is there already a Redis binding exists?

 > redisContext* redisConnectWithTimeout(const char* ip, int port, 
timeval tv);

 > redisConnectWithTimeout("", 6379, timeout);

D strings do not end with an \0 byte !
You can use std.string.toStringz to convert them to C's const char*

  -- Joshua

More information about the Digitalmars-d-learn mailing list