On 01/05/2012 07:14 PM, Joshua Reusch wrote:
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

D string literals are zero-terminated.

Reply via email to