Problem with Hiredis Binding

Joshua Reusch yoschi at arkandos.de
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:
>
> https://github.com/zhaopuming/dredis
>
> 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?

dredis.d:
 > redisContext* redisConnectWithTimeout(const char* ip, int port, 
timeval tv);

example.d:
 > redisConnectWithTimeout("127.0.0.1", 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