1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00

Fixed zero-length mutlibulk replies

This commit is contained in:
Tj Holowaychuk
2010-09-17 15:35:26 -07:00
parent c0f7a40bbf
commit d7c5fc6d6e
2 changed files with 6 additions and 3 deletions

View File

@@ -118,6 +118,9 @@ RedisReplyParser.prototype.execute = function (incoming_buf) {
this.multi_bulk_length = parseInt(small_toString(this.tmp_buffer), 10);
this.multi_bulk_replies = [];
this.state = "type";
if (0 == this.multi_bulk_length) {
this.send_reply([]);
}
} else {
this.emit("error", new Error("didn't see LF after NL reading multi bulk count"));
this.state = "type"; // try to start over with next data chunk

View File

@@ -209,10 +209,10 @@ tests.KEYS = function () {
});
};
tests.KEYS_EMPTY = function () {
var name = "KEYS_EMPTY";
tests.MULTIBULK_ZERO_LENGTH = function () {
var name = "MULTIBULK_ZERO_LENGTH";
client.KEYS(['users:*'], function(err, results){
assert.strictEqual(null, err, 'error on empty KEYS');
assert.strictEqual(null, err, 'error on empty multibulk reply');
assert.strictEqual(0, results.length);
next(name);
});