diff --git a/lib/Open/directory.js b/lib/Open/directory.js index 37be634..3035eef 100644 --- a/lib/Open/directory.js +++ b/lib/Open/directory.js @@ -166,7 +166,7 @@ module.exports = function centralDirectory(source, options) { .on('close',resolve) .on('error',reject); }); - },{concurrency: opts.concurrency || 1}); + }, opts.concurrency > 1 ? {concurrency: opts.concurrency || undefined} : undefined); }); }; diff --git a/lib/Open/unzip.js b/lib/Open/unzip.js index 0136fb1..8739205 100644 --- a/lib/Open/unzip.js +++ b/lib/Open/unzip.js @@ -83,7 +83,7 @@ module.exports = function unzip(source,offset,_password, directoryVars) { }); entry.vars.then(function(vars) { - var fileSizeKnown = !(vars.flags & 0x08), + var fileSizeKnown = !(vars.flags & 0x08) || vars.compressedSize > 0, eof; var inflater = vars.compressionMethod ? zlib.createInflateRaw() : Stream.PassThrough(); diff --git a/lib/parse.js b/lib/parse.js index e2d675b..f050822 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -164,7 +164,7 @@ Parse.prototype._readFile = function () { extra: extra }); - var fileSizeKnown = !(vars.flags & 0x08), + var fileSizeKnown = !(vars.flags & 0x08) || vars.compressedSize > 0, eof; entry.__autodraining = __autodraining; // expose __autodraining for test purposes