PERFORCE change 147137 for review
Anselm Strauss
strauss at FreeBSD.org
Mon Aug 11 08:18:04 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=147137
Change 147137 by strauss at strauss_marvelman on 2008/08/11 08:17:38
ZIP version information
Affected files ...
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#28 edit
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_write_format_zip_no_compression.c#8 edit
Differences ...
==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#28 (text+ko) ====
@@ -34,15 +34,17 @@
#endif
#include <zlib.h>
+#include "archive.h"
+#include "archive_entry.h"
+#include "archive_private.h"
+#include "archive_write_private.h"
+
#define ZIP_SIGNATURE_LOCAL_FILE_HEADER 0x04034b50
#define ZIP_SIGNATURE_DATA_DESCRIPTOR 0x08074b50
#define ZIP_SIGNATURE_FILE_HEADER 0x02014b50
#define ZIP_SIGNATURE_CENTRAL_DIRECTORY_END 0x06054b50
-
-#include "archive.h"
-#include "archive_entry.h"
-#include "archive_private.h"
-#include "archive_write_private.h"
+#define ZIP_VERSION_EXTRACT 0x0014 /* ZIP version 2.0 is needed. */
+#define ZIP_VERSION_BY 0x0314 /* Made by UNIX, using ZIP version 2.0. */
static ssize_t archive_write_zip_data(struct archive_write *, const void *buff, size_t s);
static int archive_write_zip_finish(struct archive_write *);
@@ -202,7 +204,7 @@
*/
memset(&h, 0, sizeof(h));
zip_encode(ZIP_SIGNATURE_LOCAL_FILE_HEADER, &h.signature, sizeof(h.signature));
- zip_encode(0x0200, &h.version, sizeof(h.version));
+ zip_encode(ZIP_VERSION_EXTRACT, &h.version, sizeof(h.version));
zip_encode(0x4, &h.flags, sizeof(h.flags)); /* Flagging bit 3 for using data descriptor. */
zip_encode(dos_time(archive_entry_mtime(entry)), &h.timedate, sizeof(h.timedate));
zip_encode(strlen(path), &h.filename_length, sizeof(h.filename_length));
@@ -285,7 +287,6 @@
* Fields not used are:
*
* - flags
- * - timedate (TODO)
* - extra_length
* - comment_length
* - disk_number
@@ -293,7 +294,8 @@
*/
memset(&h, 0, sizeof(h));
zip_encode(ZIP_SIGNATURE_FILE_HEADER, &h.signature, sizeof(h.signature));
- zip_encode(0x0200, &h.version_extract, sizeof(h.version_extract));
+ zip_encode(ZIP_VERSION_EXTRACT, &h.version_extract, sizeof(h.version_extract));
+ zip_encode(ZIP_VERSION_BY, &h.version_by, sizeof(h.version_by));
entries = 0;
offset_start = zip->written_bytes;
==== //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_write_format_zip_no_compression.c#8 (text+ko) ====
More information about the p4-projects
mailing list