diff --git a/docs/unrar.html b/docs/unrar.html index c5ee39d..4c422e3 100755 --- a/docs/unrar.html +++ b/docs/unrar.html @@ -190,6 +190,10 @@ Packed Data (Total Packed Size) bytes
Follow the following pseudo-code to read in the ExtTime Structure.
@@ -202,31 +206,43 @@ var extTimeFlags = readBits(16) mtime_rmode = extTimeFlags >> 12 if ((mtime_rmode & 8)==0) goto ctime mtime_count = mtime_rmode & 0x3 -mtime_remainder = readBits(8*mtime_count); +mtime_remainder = 0 +for (var i = 0; i < mtime_count; i++) { + mtime_remainder = (readBits(8) << 16) | (mtime_remainder >> 8) +} if ((mtime_rmode & 4)!=0) mtime_remainder += one_second ctime: ctime_rmode = extTimeFlags >> 8 if ((ctime_rmode & 8)==0) goto atime -Set ctime to readBits(32) +ctime = readBits(32) ctime_count = ctime_rmode & 0x3 -ctime_remainder = readBits(8*ctime_count) +ctime_remainder = 0 +for (var i = 0; i < ctime_count; i++) { + ctime_remainder = (readBits(8) << 16) | (ctime_remainder >> 8) +} if ((ctime_rmode & 4)!=0) ctime_remainder += one_second atime: atime_rmode = extTimeFlags >> 4 if ((atime_rmode & 8)==0) goto arctime -Set atime to readBits(32) +atime = readBits(32) atime_count = atime_rmode & 0x3 -atime_remainder = readBits(8*atime_count) +atime_remainder = 0 +for (var i = 0; i < atime_count; i++) { + atime_remainder = (readBits(8) << 16) | (atime_remainder >> 8) +} if ((atime_rmode & 4)!=0) atime_remainder += one_second arctime: arctime_rmode = extTimeFlags if ((arctime_rmode & 8)==0) goto done_exttime -Set arctime to readBits(32) +arctime = readBits(32) arctime_count = arctime_rmode & 0x3 -arctime_remainder = readBits(8*arctime_count) +arctime_remainder = 0 +for (var i = 0; i < arctime_count; i++) { + arctime_remainder = (readBits(8) << 16) | (arctime_remainder >> 8) +} if ((arctime_rmode & 4)!=0) arctime_remainder += one_second done_exttime @@ -575,6 +591,7 @@ ZeroCount 4 bits (only present if BitLength is 15)