D.gnu - ZipArchive doesn't generate valid zip files
- Carlos Santander (26/26) Jun 10 2006 What the subject says. It can read well, though, but it can't even read ...
- David Friedman (2/39) Jun 11 2006
- Carlos Santander (4/6) Jun 11 2006 Thanks.
What the subject says. It can read well, though, but it can't even read it's own files. //-------------------------------- import std.date; import std.zip; void main () { static ubyte [] buf = [1,2,3,4,5,0,7,8,9]; auto ar = new ZipArchive; auto am = new ArchiveMember; // 10 am.name = "buf"; am.expandedData = buf; am.compressionMethod = 8; am.time = toDosFileTime (getUTCtime ()); ar.addMember (am); // 15 auto zip1 = ar.build (); ar = new ZipArchive (zip1); } //-------------------------------- When I run it, I get "Error: ZipException: invalid directory entry 3" (what does that mean, anyway?) If I comment lines 10 to 15 (ie, I don't add a member to the zip, I don't know if that's valid or not), I get "Error: ZipException: no end record". Tested with gdc 0.18 on Mac OS X. -- Carlos Santander Bernal
Jun 10 2006
Fixed in svn. This was a Phobos bug -- I have added it to Bugzilla. Carlos Santander wrote:What the subject says. It can read well, though, but it can't even read it's own files. //-------------------------------- import std.date; import std.zip; void main () { static ubyte [] buf = [1,2,3,4,5,0,7,8,9]; auto ar = new ZipArchive; auto am = new ArchiveMember; // 10 am.name = "buf"; am.expandedData = buf; am.compressionMethod = 8; am.time = toDosFileTime (getUTCtime ()); ar.addMember (am); // 15 auto zip1 = ar.build (); ar = new ZipArchive (zip1); } //-------------------------------- When I run it, I get "Error: ZipException: invalid directory entry 3" (what does that mean, anyway?) If I comment lines 10 to 15 (ie, I don't add a member to the zip, I don't know if that's valid or not), I get "Error: ZipException: no end record". Tested with gdc 0.18 on Mac OS X.
Jun 11 2006
David Friedman escribió:Fixed in svn. This was a Phobos bug -- I have added it to Bugzilla.Thanks. -- Carlos Santander Bernal
Jun 11 2006