[Extractor-gtk-cvslog] SF.net SVN: extractor-gtk: [47] trunk/extractor/generic.c
Extract files from unusual archive formats
Brought to you by:
someone-guy
From: <som...@us...> - 2007-10-03 21:25:25
|
Revision: 47 http://extractor-gtk.svn.sourceforge.net/extractor-gtk/?rev=47&view=rev Author: someone-guy Date: 2007-10-03 14:25:23 -0700 (Wed, 03 Oct 2007) Log Message: ----------- Detect zip end-of-directory markers Modified Paths: -------------- trunk/extractor/generic.c Modified: trunk/extractor/generic.c =================================================================== --- trunk/extractor/generic.c 2007-09-16 14:41:16 UTC (rev 46) +++ trunk/extractor/generic.c 2007-10-03 21:25:23 UTC (rev 47) @@ -61,6 +61,22 @@ cnt++; break; } + case TAG('P', 'K', 5, 6): { + uint64_t offset; + uint16_t comment_len; + fseek(in, 8, SEEK_CUR); + offset = read_le32(in); // size of central directory + offset += read_le32(in); // offset of central directory + offset += 4; // PK.. + comment_len = read_le16(in); // comment length + fseek(in, -18, SEEK_CUR); + if (offset > ftell(in)) + break; + add_entry(&list, cnt, "zip"); + list[cnt].start = ftell(in) - offset; + list[cnt].len = offset + 18 + comment_len; + cnt++; + } } switch (t & 0xffffff) { case TAG(0, 'F', 'W', 'S'): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |