Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Aug 2008 08:18:03 GMT
From:      Anselm Strauss <strauss@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 147137 for review
Message-ID:  <200808110818.m7B8I3u1065492@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=147137

Change 147137 by strauss@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) ====




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808110818.m7B8I3u1065492>