From bd86792ebbafe2ae063d169a5e61e60a80f4057e Mon Sep 17 00:00:00 2001 From: Brian Hammond Date: Fri, 7 May 2010 10:53:42 -0400 Subject: [PATCH] Use binary encoding for arg serialization when not a Buffer. --- lib/redis-client.js | 6 +++--- test/test.js | 10 ++-------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/lib/redis-client.js b/lib/redis-client.js index 2ad6372..f705722 100644 --- a/lib/redis-client.js +++ b/lib/redis-client.js @@ -714,9 +714,9 @@ Client.prototype.sendCommand = function () { offset += this.requestBuffer.asciiWrite(CRLF, offset); } else if (arg.toString) { var asString = arg.toString(); - var serialized = '$' + Buffer.byteLength(asString) + CRLF + asString + CRLF; - ensureSpaceFor(Buffer.byteLength(serialized)); - offset += this.requestBuffer.utf8Write(serialized, offset); + var serialized = '$' + Buffer.byteLength(asString, "binary") + CRLF + asString + CRLF; + ensureSpaceFor(Buffer.byteLength(serialized, "binary")); + offset += this.requestBuffer.binaryWrite(serialized, offset); } } diff --git a/test/test.js b/test/test.js index 585a280..31166c3 100755 --- a/test/test.js +++ b/test/test.js @@ -1743,13 +1743,7 @@ var allTestFunctions = [ function testLargeGetSet() { showTestBanner("testLargeGetSet"); - var fileContents = fs.readFileSync(__filename); - -// if (Buffer.byteLength(fileContents) < client.requestBuffer.length) { -// sys.debug(Buffer.byteLength(fileContents)); -// sys.debug(client.requestBuffer.length); -// assert.fail("the request buffer will not be forced to grow", "testGET (large; 0)"); -// } + var fileContents = fs.readFileSync(__filename, "binary"); var wasDebugMode = redisclient.debugMode; redisclient.debugMode = false; @@ -1763,7 +1757,7 @@ function testLargeGetSet() { client.get('largetestfile', function (err, value) { if (err) assert.fail(err, "testGET (large; 3)"); - checkEqual(value.utf8Slice(0, value.length), fileContents, "testGET (large; 4)"); + checkEqual(value.binarySlice(0, value.length), fileContents, "testGET (large; 4)"); redisclient.debugMode = wasDebugMode; testStoreAnImage(); });