X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/d08fac3eb9af712a4835773d7d6e58bdac465991..f65c8f654fafb6cc86804d8f4ca9cdd1b6d978db:/src/syncio.c?ds=sidebyside diff --git a/src/syncio.c b/src/syncio.c index 28ac1811..3d0e0451 100644 --- a/src/syncio.c +++ b/src/syncio.c @@ -107,6 +107,7 @@ int syncReadLine(int fd, char *ptr, ssize_t size, int timeout) { int fwriteBulkString(FILE *fp, char *s, unsigned long len) { char cbuf[128]; int clen; + cbuf[0] = '$'; clen = 1+ll2string(cbuf+1,sizeof(cbuf)-1,len); cbuf[clen++] = '\r'; @@ -117,6 +118,19 @@ int fwriteBulkString(FILE *fp, char *s, unsigned long len) { return 1; } +/* Write a multi bulk count in the form "*\r\n" */ +int fwriteBulkCount(FILE *fp, char prefix, int count) { + char cbuf[128]; + int clen; + + cbuf[0] = prefix; + clen = 1+ll2string(cbuf+1,sizeof(cbuf)-1,count); + cbuf[clen++] = '\r'; + cbuf[clen++] = '\n'; + if (fwrite(cbuf,clen,1,fp) == 0) return 0; + return 1; +} + /* Write a double value in bulk format $\r\n\r\n */ int fwriteBulkDouble(FILE *fp, double d) { char buf[128], dbuf[128];