diff --git a/doc/api/buffer.markdown b/doc/api/buffer.markdown index e08ad48e9b7..268294fce08 100644 --- a/doc/api/buffer.markdown +++ b/doc/api/buffer.markdown @@ -98,10 +98,6 @@ The method will not write partial characters. len = buf.write('\u00bd + \u00bc = \u00be', 0); console.log(len + " bytes: " + buf.toString('utf8', 0, len)); -The number of characters written (which may be different than the number of -bytes written) is set in `Buffer._charsWritten` and will be overwritten the -next time `buf.write()` is called. - ### buf.toString([encoding], [start], [end]) diff --git a/lib/buffer.js b/lib/buffer.js index 3378dcebfcb..20b3f02c1c0 100644 --- a/lib/buffer.js +++ b/lib/buffer.js @@ -374,8 +374,6 @@ Buffer.prototype.write = function(string, offset, length, encoding) { throw new TypeError('Unknown encoding: ' + encoding); } - Buffer._charsWritten = SlowBuffer._charsWritten; - return ret; }; diff --git a/src/node_buffer.cc b/src/node_buffer.cc index 6a74b6a682a..423b118227d 100644 --- a/src/node_buffer.cc +++ b/src/node_buffer.cc @@ -60,7 +60,6 @@ using namespace v8; static Persistent length_symbol; -static Persistent chars_written_sym; static Persistent write_sym; static Persistent fast_buffer_constructor; Persistent Buffer::constructor_template; @@ -591,8 +590,6 @@ Handle Buffer::Utf8Write(const Arguments &args) { int length = s->Length(); if (length == 0) { - constructor_template->GetFunction()->Set(chars_written_sym, - Integer::New(0, node_isolate)); return scope.Close(Integer::New(0, node_isolate)); } @@ -614,10 +611,6 @@ Handle Buffer::Utf8Write(const Arguments &args) { (String::HINT_MANY_WRITES_EXPECTED | String::NO_NULL_TERMINATION)); - constructor_template->GetFunction()->Set(chars_written_sym, - Integer::New(char_written, - node_isolate)); - return scope.Close(Integer::New(written, node_isolate)); } @@ -652,9 +645,6 @@ Handle Buffer::Ucs2Write(const Arguments &args) { (String::HINT_MANY_WRITES_EXPECTED | String::NO_NULL_TERMINATION)); - constructor_template->GetFunction()->Set(chars_written_sym, - Integer::New(written, node_isolate)); - return scope.Close(Integer::New(written * 2, node_isolate)); } @@ -687,7 +677,6 @@ Handle Buffer::HexWrite(const Arguments& args) { if (start >= parent->length_) { Local val = Integer::New(0, node_isolate); - constructor_template->GetFunction()->Set(chars_written_sym, val); return scope.Close(val); } @@ -698,7 +687,6 @@ Handle Buffer::HexWrite(const Arguments& args) { if (size == 0) { Local val = Integer::New(0, node_isolate); - constructor_template->GetFunction()->Set(chars_written_sym, val); return scope.Close(val); } @@ -718,9 +706,6 @@ Handle Buffer::HexWrite(const Arguments& args) { dst[i] = a * 16 + b; } - constructor_template->GetFunction()->Set(chars_written_sym, - Integer::New(max * 2, node_isolate)); - return scope.Close(Integer::New(max, node_isolate)); } @@ -755,9 +740,6 @@ Handle Buffer::AsciiWrite(const Arguments &args) { (String::HINT_MANY_WRITES_EXPECTED | String::NO_NULL_TERMINATION)); - constructor_template->GetFunction()->Set(chars_written_sym, - Integer::New(written, node_isolate)); - return scope.Close(Integer::New(written, node_isolate)); } @@ -818,10 +800,6 @@ Handle Buffer::Base64Write(const Arguments &args) { *dst++ = ((c & 0x03) << 6) | (d & 0x3F); } - constructor_template->GetFunction()->Set(chars_written_sym, - Integer::New(dst - start, - node_isolate)); - return scope.Close(Integer::New(dst - start, node_isolate)); } @@ -851,9 +829,6 @@ Handle Buffer::BinaryWrite(const Arguments &args) { int written = DecodeWrite(p, max_length, s, BINARY); - constructor_template->GetFunction()->Set(chars_written_sym, - Integer::New(written, node_isolate)); - return scope.Close(Integer::New(written, node_isolate)); } @@ -1118,7 +1093,6 @@ void Buffer::Initialize(Handle target) { assert(unbase64('\r') == -2); length_symbol = NODE_PSYMBOL("length"); - chars_written_sym = NODE_PSYMBOL("_charsWritten"); Local t = FunctionTemplate::New(Buffer::New); constructor_template = Persistent::New(node_isolate, t); diff --git a/test/simple/test-buffer.js b/test/simple/test-buffer.js index b0ab6ed53c7..6962c75c4c5 100644 --- a/test/simple/test-buffer.js +++ b/test/simple/test-buffer.js @@ -336,11 +336,8 @@ assert.deepEqual(f, new Buffer([252, 98, 101, 114])); var f = new Buffer([0, 0, 0, 0, 0]); assert.equal(f.length, 5); var size = f.write('あいうえお', encoding); - var charsWritten = Buffer._charsWritten; // Copy value out. console.error('bytes written to buffer: %d (should be 4)', size); - console.error('chars written to buffer: %d (should be 2)', charsWritten); assert.equal(size, 4); - assert.equal(charsWritten, 2); assert.deepEqual(f, new Buffer([0x42, 0x30, 0x44, 0x30, 0x00])); }); @@ -788,23 +785,6 @@ written = sub.write('12345', 'binary'); assert.equal(written, 4); assert.equal(buf[4], 0); -// test for _charsWritten -buf = new Buffer(9); -buf.write('あいうえ', 'utf8'); // 3bytes * 4 -assert.equal(Buffer._charsWritten, 3); -['ucs2', 'ucs-2', 'utf16le', 'utf-16le'].forEach(function(encoding) { - buf.write('あいうえお', encoding); // 2bytes * 5 - assert.equal(Buffer._charsWritten, 4); -}); -buf.write('0123456789', 'ascii'); -assert.equal(Buffer._charsWritten, 9); -buf.write('0123456789', 'binary'); -assert.equal(Buffer._charsWritten, 9); -buf.write('123456', 'base64'); -assert.equal(Buffer._charsWritten, 4); -buf.write('00010203040506070809', 'hex'); -assert.equal(Buffer._charsWritten, 18); - // Check for fractional length args, junk length args, etc. // https://github.com/joyent/node/issues/1758 Buffer(3.3).toString(); // throws bad argument error in commit 43cb4ec