diff options
Diffstat (limited to 'deps/npm/node_modules/graceful-fs/polyfills.js')
-rw-r--r-- | deps/npm/node_modules/graceful-fs/polyfills.js | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/deps/npm/node_modules/graceful-fs/polyfills.js b/deps/npm/node_modules/graceful-fs/polyfills.js index b964ed0806c..ab692016c90 100644 --- a/deps/npm/node_modules/graceful-fs/polyfills.js +++ b/deps/npm/node_modules/graceful-fs/polyfills.js @@ -272,18 +272,24 @@ function patch (fs) { } } - function statFix (orig) { if (!orig) return orig // Older versions of Node erroneously returned signed integers for // uid + gid. - return function (target, cb) { - return orig.call(fs, target, function (er, stats) { - if (!stats) return cb.apply(this, arguments) - if (stats.uid < 0) stats.uid += 0x100000000 - if (stats.gid < 0) stats.gid += 0x100000000 + return function (target, options, cb) { + if (typeof options === 'function') { + cb = options + options = null + } + function callback (er, stats) { + if (stats) { + if (stats.uid < 0) stats.uid += 0x100000000 + if (stats.gid < 0) stats.gid += 0x100000000 + } if (cb) cb.apply(this, arguments) - }) + } + return options ? orig.call(fs, target, options, callback) + : orig.call(fs, target, callback) } } @@ -291,8 +297,9 @@ function patch (fs) { if (!orig) return orig // Older versions of Node erroneously returned signed integers for // uid + gid. - return function (target) { - var stats = orig.call(fs, target) + return function (target, options) { + var stats = options ? orig.call(fs, target, options) + : orig.call(fs, target) if (stats.uid < 0) stats.uid += 0x100000000 if (stats.gid < 0) stats.gid += 0x100000000 return stats; |