diff options
author | James M Snell <jasnell@gmail.com> | 2017-02-15 09:35:57 -0800 |
---|---|---|
committer | James M Snell <jasnell@gmail.com> | 2017-02-15 12:09:57 -0800 |
commit | 4b8b7e9d2b06953a918940a569be7659c3669e6e (patch) | |
tree | 3007ffac9ede799aaebcee0fb736bf410562df1d /lib/buffer.js | |
parent | 1e21d05632fe75322f158df984df80c44132bcdb (diff) | |
download | android-node-v8-4b8b7e9d2b06953a918940a569be7659c3669e6e.tar.gz android-node-v8-4b8b7e9d2b06953a918940a569be7659c3669e6e.tar.bz2 android-node-v8-4b8b7e9d2b06953a918940a569be7659c3669e6e.zip |
buffer: refactor slowToString
Since slowToString only has one callsite, refactor to eliminate
the use of call.
PR-URL: https://github.com/nodejs/node/pull/11358
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'lib/buffer.js')
-rw-r--r-- | lib/buffer.js | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/lib/buffer.js b/lib/buffer.js index fcebe95b0b..dbec9bd920 100644 --- a/lib/buffer.js +++ b/lib/buffer.js @@ -433,10 +433,10 @@ Object.defineProperty(Buffer.prototype, 'offset', { }); -function slowToString(encoding, start, end) { +function slowToString(buf, encoding, start, end) { var loweredCase = false; - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only + // No need to verify that "buf.length <= MAX_UINT32" since it's a read-only // property of a typed array. // This behaves neither like String nor Uint8Array in that we set start/end @@ -445,13 +445,13 @@ function slowToString(encoding, start, end) { // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. if (start === undefined || start < 0) start = 0; - // Return early if start > this.length. Done here to prevent potential uint32 + // Return early if start > buf.length. Done here to prevent potential uint32 // coercion fail below. - if (start > this.length) + if (start > buf.length) return ''; - if (end === undefined || end > this.length) - end = this.length; + if (end === undefined || end > buf.length) + end = buf.length; if (end <= 0) return ''; @@ -468,27 +468,27 @@ function slowToString(encoding, start, end) { while (true) { switch (encoding) { case 'hex': - return this.hexSlice(start, end); + return buf.hexSlice(start, end); case 'utf8': case 'utf-8': - return this.utf8Slice(start, end); + return buf.utf8Slice(start, end); case 'ascii': - return this.asciiSlice(start, end); + return buf.asciiSlice(start, end); case 'latin1': case 'binary': - return this.latin1Slice(start, end); + return buf.latin1Slice(start, end); case 'base64': - return this.base64Slice(start, end); + return buf.base64Slice(start, end); case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': - return this.ucs2Slice(start, end); + return buf.ucs2Slice(start, end); default: if (loweredCase) @@ -508,7 +508,7 @@ Buffer.prototype.toString = function(encoding, start, end) { if (arguments.length === 0) { result = this.utf8Slice(0, this.length); } else { - result = slowToString.call(this, encoding, start, end); + result = slowToString(this, encoding, start, end); } if (result === undefined) throw new Error('"toString()" failed'); |