]> git.saurik.com Git - redis.git/blobdiff - src/syncio.c
Merge remote-tracking branch 'origin/unstable' into unstable
[redis.git] / src / syncio.c
index 28ac181140d0963afba5a07580693e72f7a030fb..3d0e0451bfd41011bab2d0a524ef66dbceb58e16 100644 (file)
@@ -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;
 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';
     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;
 }
 
     return 1;
 }
 
+/* Write a multi bulk count in the form "*<count>\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 $<count>\r\n<payload>\r\n */
 int fwriteBulkDouble(FILE *fp, double d) {
     char buf[128], dbuf[128];
 /* Write a double value in bulk format $<count>\r\n<payload>\r\n */
 int fwriteBulkDouble(FILE *fp, double d) {
     char buf[128], dbuf[128];