Browse Source

Partial fix for null multi bulk response.

gh-pages
Paul Carey 14 years ago
committed by Matt Ranney
parent
commit
5bddbe3d9a
  1. 34
      index.js
  2. 12
      test.js

34
index.js

@ -784,23 +784,25 @@ Multi.prototype.exec = function (callback) {
var i, il, j, jl, reply, args, obj, key, val;
for (i = 1, il = self.queue.length; i < il; i += 1) {
reply = replies[i - 1];
args = self.queue[i];
// Convert HGETALL reply to object
if (reply && args[0].toLowerCase() === "hgetall") {
obj = {};
for (j = 0, jl = reply.length; j < jl; j += 2) {
key = reply[j].toString();
val = reply[j + 1];
obj[key] = val;
if (replies) {
for (i = 1, il = self.queue.length; i < il; i += 1) {
reply = replies[i - 1];
args = self.queue[i];
// Convert HGETALL reply to object
if (reply && args[0].toLowerCase() === "hgetall") {
obj = {};
for (j = 0, jl = reply.length; j < jl; j += 2) {
key = reply[j].toString();
val = reply[j + 1];
obj[key] = val;
}
replies[i - 1] = reply = obj;
}
if (typeof args[args.length - 1] === "function") {
args[args.length - 1](null, reply);
}
replies[i - 1] = reply = obj;
}
if (typeof args[args.length - 1] === "function") {
args[args.length - 1](null, reply);
}
}

12
test.js

@ -204,6 +204,18 @@ tests.MULTI_6 = function () {
});
};
tests.WATCH_MULTI = function () {
var name = 'WATCH_MULTI';
client.watch(name);
var multi = client.multi();
multi.incr(name);
client.incr(name);
multi.exec(function (err, replies) {
next(name);
});
};
tests.HSET = function () {
var key = "test hash",
field1 = new Buffer("0123456789"),

Loading…
Cancel
Save