diff --git a/src/node_buffer.cc b/src/node_buffer.cc index a4e36714a8f..5cb204c4dce 100644 --- a/src/node_buffer.cc +++ b/src/node_buffer.cc @@ -511,8 +511,8 @@ Handle Buffer::Utf8Write(const Arguments &args) { "Offset is out of bounds"))); } - size_t max_length = args[2].IsEmpty() ? buffer->length_ - offset - : args[2]->Uint32Value(); + size_t max_length = args[2]->IsUndefined() ? buffer->length_ - offset + : args[2]->Uint32Value(); max_length = MIN(buffer->length_ - offset, max_length); char* p = buffer->data() + offset; @@ -553,8 +553,8 @@ Handle Buffer::AsciiWrite(const Arguments &args) { "Offset is out of bounds"))); } - size_t max_length = args[2].IsEmpty() ? buffer->length_ - offset - : args[2]->Uint32Value(); + size_t max_length = args[2]->IsUndefined() ? buffer->length_ - offset + : args[2]->Uint32Value(); max_length = MIN(s->Length(), MIN(buffer->length_ - offset, max_length)); char *p = buffer->data() + offset; diff --git a/test/simple/test-buffer.js b/test/simple/test-buffer.js index 99fb8bc43ec..933b48ec469 100644 --- a/test/simple/test-buffer.js +++ b/test/simple/test-buffer.js @@ -303,10 +303,10 @@ for (i = 0; i < l; i++) { s += "h"; } -b = Buffer(s); +b = new Buffer(s); -for (i = 0; l; i++) { - assert.equal("h".charCodeAt(i), b[i], "index " + i + " is not 'h' it was " + b[i]); +for (i = 0; i < l; i++) { + assert.equal("h".charCodeAt(0), b[i]); } sb = b.toString();