diff options
Diffstat (limited to 'lib/fs.js')
-rw-r--r-- | lib/fs.js | 24 |
1 files changed, 11 insertions, 13 deletions
@@ -1262,21 +1262,19 @@ function writeAll(fd, isUserFd, buffer, offset, length, position, callback) { callback(writeErr); }); } - } else { - if (written === length) { - if (isUserFd) { - callback(null); - } else { - fs.close(fd, callback); - } + } else if (written === length) { + if (isUserFd) { + callback(null); } else { - offset += written; - length -= written; - if (position !== null) { - position += written; - } - writeAll(fd, isUserFd, buffer, offset, length, position, callback); + fs.close(fd, callback); + } + } else { + offset += written; + length -= written; + if (position !== null) { + position += written; } + writeAll(fd, isUserFd, buffer, offset, length, position, callback); } }); } |