carl douglas avatar carl douglas committed 1ec79a2

Implement nil (-1) values in bulk and multi-bulk repsonses.

Comments (0)

Files changed (2)

            (multi-bulk
              (lambda () (single-line-number)))
            (bulk
-             (lambda () (read-string (single-line-number) port)))
+             (lambda () (let ((n (single-line-number)))
+                          (cond ((equal? n -1)   '())
+                                (else (read-string n port))))))
            (next-line
-             (lambda () (if (= argc (length args))
-                          args
-                          (prefix))))
+             (lambda () (cond ((equal? argc (length args))  args)
+                              ((equal? argc -1)  '())
+                              (else (prefix)))))
            (prefix
              (lambda ()
                (let ((ch (read-char port)))
       '("key"))
 (test (redis-hlen "hash1")
       '(1))
+(test (redis-blpop "list1" "1")
+      '())
 (test (redis-quit)
       '("OK"))
-
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.