Skip to content

Commit dc3948d

Browse files
committed
fixup
1 parent ec3482d commit dc3948d

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

benchmark/buffers/buffer-write-string.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
const common = require('../common.js');
44
const bench = common.createBenchmark(main, {
55
encoding: [
6-
'', 'utf8', 'ascii', 'hex', 'utf16le', 'latin1',
6+
'',
77
],
8-
args: [ '', 'offset', 'offset+length' ],
9-
len: [2048],
8+
args: [ '' ],
9+
len: [1,8,16,32,128],
1010
n: [1e6],
1111
});
1212

lib/buffer.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -1082,10 +1082,9 @@ function _fill(buf, value, offset, end, encoding) {
10821082
Buffer.prototype.write = function write(string, offset, length, encoding) {
10831083
// Buffer#write(string);
10841084
if (offset === undefined) {
1085-
return this.utf8Write(string, 0, this.length);
1086-
}
1085+
// Do nothing
10871086
// Buffer#write(string, encoding)
1088-
if (length === undefined && typeof offset === 'string') {
1087+
} else if (length === undefined && typeof offset === 'string') {
10891088
encoding = offset;
10901089
length = this.length;
10911090
offset = 0;
@@ -1109,15 +1108,16 @@ Buffer.prototype.write = function write(string, offset, length, encoding) {
11091108
}
11101109

11111110
const len = string.length;
1112-
if (len <= 16 && len <= length) {
1111+
if (len <= 16 && len <= length && (!encoding || encoding === 'ascii' || encoding === 'utf8')) {
11131112
let n = 0;
1113+
let pos = offset ?? 0;
11141114
while (true) {
11151115
const code = StringPrototypeCharCodeAt(string, n);
11161116
if (code >= 128) {
11171117
break;
11181118
}
11191119

1120-
this[offset + n] = code;
1120+
this[pos + n] = code;
11211121
n++;
11221122

11231123
if (n === len) {

0 commit comments

Comments
 (0)