Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 24x 24x 167x 264x 264x 4x 260x 167x 167x 3x 167x 4x 167x 167x | var binary = require('binary'); module.exports = function(extraField, vars) { var extra; // Find the ZIP64 header, if present. while(!extra && extraField && extraField.length) { var candidateExtra = binary.parse(extraField) .word16lu('signature') .word16lu('partsize') .word64lu('uncompressedSize') .word64lu('compressedSize') .word64lu('offset') .word64lu('disknum') .vars; if(candidateExtra.signature === 0x0001) { extra = candidateExtra; } else { // Advance the buffer to the next part. // The total size of this part is the 4 byte header + partsize. extraField = extraField.slice(candidateExtra.partsize + 4); } } extra = extra || {}; if (vars.compressedSize === 0xffffffff) vars.compressedSize = extra.compressedSize; if (vars.uncompressedSize === 0xffffffff) vars.uncompressedSize= extra.uncompressedSize; Iif (vars.offsetToLocalFileHeader === 0xffffffff) vars.offsetToLocalFileHeader= extra.offset; return extra; }; |