X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/f9c6f39b2b0039cf29df6597d41c124048c825cd..6c0047c4304fc5cd84029996587d6ea1416d0578:/src/rio.c diff --git a/src/rio.c b/src/rio.c index e69d939f..f695a482 100644 --- a/src/rio.c +++ b/src/rio.c @@ -6,13 +6,13 @@ static size_t rioBufferWrite(rio *r, const void *buf, size_t len) { r->io.buffer.ptr = sdscatlen(r->io.buffer.ptr,(char*)buf,len); r->io.buffer.pos += len; - return len; + return 1; } /* Returns 1 or 0 for success/failure. */ static size_t rioBufferRead(rio *r, void *buf, size_t len) { if (sdslen(r->io.buffer.ptr)-r->io.buffer.pos < len) - return 0; + return 0; /* not enough buffer to return len bytes. */ memcpy(buf,r->io.buffer.ptr+r->io.buffer.pos,len); r->io.buffer.pos += len; return 1; @@ -52,16 +52,15 @@ static const rio rioFileIO = { { { NULL, 0 } } /* union for io-specific vars */ }; -rio rioInitWithFile(FILE *fp) { - rio r = rioFileIO; - r.io.file.fp = fp; - return r; +void rioInitWithFile(rio *r, FILE *fp) { + *r = rioFileIO; + r->io.file.fp = fp; } -rio rioInitWithBuffer(sds s) { - rio r = rioBufferIO; - r.io.buffer.ptr = s; - r.io.buffer.pos = 0; - return r; + +void rioInitWithBuffer(rio *r, sds s) { + *r = rioBufferIO; + r->io.buffer.ptr = s; + r->io.buffer.pos = 0; } /* Write multi bulk count in the format: "*\r\n". */