Browse Source

Fix big string bug

v0.7.4-release
Ryan Dahl 15 years ago
parent
commit
efc723787a
  1. 8
      src/node_buffer.cc
  2. 6
      test/simple/test-buffer.js

8
src/node_buffer.cc

@ -511,8 +511,8 @@ Handle<Value> 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<Value> 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;

6
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();

Loading…
Cancel
Save