X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/21dbc6499a538af07f52a41742cf1683f3fc9c23..40531be0e338556df5510f49f4472ea50713962f:/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];