diff --git a/lib/fs.js b/lib/fs.js index 31fd05dd3ab435..e7338997a5f1df 100644 --- a/lib/fs.js +++ b/lib/fs.js @@ -1220,9 +1220,9 @@ function futimesSync(fd, atime, mtime) { handleErrorFromBinding(ctx); } -function writeAll(fd, isUserFd, buffer, offset, length, position, callback) { +function writeAll(fd, isUserFd, buffer, offset, length, callback) { // write(fd, buffer, offset, length, position, callback) - fs.write(fd, buffer, offset, length, position, (writeErr, written) => { + fs.write(fd, buffer, offset, length, null, (writeErr, written) => { if (writeErr) { if (isUserFd) { callback(writeErr); @@ -1240,10 +1240,7 @@ function writeAll(fd, isUserFd, buffer, offset, length, position, callback) { } else { offset += written; length -= written; - if (position !== null) { - position += written; - } - writeAll(fd, isUserFd, buffer, offset, length, position, callback); + writeAll(fd, isUserFd, buffer, offset, length, callback); } }); } @@ -1269,9 +1266,8 @@ function writeFile(path, data, options, callback) { function writeFd(fd, isUserFd) { const buffer = isArrayBufferView(data) ? data : Buffer.from('' + data, options.encoding || 'utf8'); - const position = (/a/.test(flag) || isUserFd) ? null : 0; - writeAll(fd, isUserFd, buffer, 0, buffer.byteLength, position, callback); + writeAll(fd, isUserFd, buffer, 0, buffer.byteLength, callback); } } @@ -1287,15 +1283,11 @@ function writeFileSync(path, data, options) { } let offset = 0; let length = data.byteLength; - let position = (/a/.test(flag) || isUserFd) ? null : 0; try { while (length > 0) { - const written = fs.writeSync(fd, data, offset, length, position); + const written = fs.writeSync(fd, data, offset, length); offset += written; length -= written; - if (position !== null) { - position += written; - } } } finally { if (!isUserFd) fs.closeSync(fd);