From 56eab3d2ab92fe38b0a989db0563f2480ecb8c4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Czerpak?= Date: Mon, 3 Feb 2014 23:06:37 +0100 Subject: [PATCH] 2014-02-03 23:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * contrib/hbmzip/3rd/minizip/* * updated MINIZIP library 1.2.7 -> 1.2.8 (synced with Viktor's branch) --- ChangeLog.txt | 5 ++ contrib/hbmzip/3rd/minizip/README | 115 ++++++++++++++++++++++++ contrib/hbmzip/3rd/minizip/minizip.dif | 120 +++++++------------------ contrib/hbmzip/3rd/minizip/minizip.hbp | 21 ++--- contrib/hbmzip/3rd/minizip/unzip.c | 10 +-- contrib/hbmzip/3rd/minizip/unzip.h | 4 +- 6 files changed, 172 insertions(+), 103 deletions(-) create mode 100644 contrib/hbmzip/3rd/minizip/README diff --git a/ChangeLog.txt b/ChangeLog.txt index bcaa9d0aa0..f6133c3a32 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -10,6 +10,11 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +2014-02-03 23:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + * contrib/hbmzip/3rd/minizip/* + * updated MINIZIP library 1.2.7 -> 1.2.8 + (synced with Viktor's branch) + 2014-02-03 22:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * src/compiler/complex.c + added support for AS HASH, POINTER, SYMBOL, TIMESTAMP diff --git a/contrib/hbmzip/3rd/minizip/README b/contrib/hbmzip/3rd/minizip/README new file mode 100644 index 0000000000..5ca9d127ed --- /dev/null +++ b/contrib/hbmzip/3rd/minizip/README @@ -0,0 +1,115 @@ +ZLIB DATA COMPRESSION LIBRARY + +zlib 1.2.8 is a general purpose data compression library. All the code is +thread safe. The data format used by the zlib library is described by RFCs +(Request for Comments) 1950 to 1952 in the files +http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and +rfc1952 (gzip format). + +All functions of the compression library are documented in the file zlib.h +(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example +of the library is given in the file test/example.c which also tests that +the library is working correctly. Another example is given in the file +test/minigzip.c. The compression library itself is composed of all source +files in the root directory. + +To compile all files and run the test program, follow the instructions given at +the top of Makefile.in. In short "./configure; make test", and if that goes +well, "make install" should work for most flavors of Unix. For Windows, use +one of the special makefiles in win32/ or contrib/vstudio/ . For VMS, use +make_vms.com. + +Questions about zlib should be sent to , or to Gilles Vollant + for the Windows DLL version. The zlib home page is +http://zlib.net/ . Before reporting a problem, please check this site to +verify that you have the latest version of zlib; otherwise get the latest +version and check whether the problem still exists or not. + +PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help. + +Mark Nelson wrote an article about zlib for the Jan. 1997 +issue of Dr. Dobb's Journal; a copy of the article is available at +http://marknelson.us/1997/01/01/zlib-engine/ . + +The changes made in version 1.2.8 are documented in the file ChangeLog. + +Unsupported third party contributions are provided in directory contrib/ . + +zlib is available in Java using the java.util.zip package, documented at +http://java.sun.com/developer/technicalArticles/Programming/compression/ . + +A Perl interface to zlib written by Paul Marquess is available +at CPAN (Comprehensive Perl Archive Network) sites, including +http://search.cpan.org/~pmqs/IO-Compress-Zlib/ . + +A Python interface to zlib written by A.M. Kuchling is +available in Python 1.5 and later versions, see +http://docs.python.org/library/zlib.html . + +zlib is built into tcl: http://wiki.tcl.tk/4610 . + +An experimental package to read and write files in .zip format, written on top +of zlib by Gilles Vollant , is available in the +contrib/minizip directory of zlib. + + +Notes for some targets: + +- For Windows DLL versions, please see win32/DLL_FAQ.txt + +- For 64-bit Irix, deflate.c must be compiled without any optimization. With + -O, one libpng test fails. The test works in 32 bit mode (with the -n32 + compiler flag). The compiler bug has been reported to SGI. + +- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works + when compiled with cc. + +- On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is + necessary to get gzprintf working correctly. This is done by configure. + +- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with + other compilers. Use "make test" to check your compiler. + +- gzdopen is not supported on RISCOS or BEOS. + +- For PalmOs, see http://palmzlib.sourceforge.net/ + + +Acknowledgments: + + The deflate format used by zlib was defined by Phil Katz. The deflate and + zlib specifications were written by L. Peter Deutsch. Thanks to all the + people who reported problems and suggested various improvements in zlib; they + are too numerous to cite here. + +Copyright notice: + + (C) 1995-2013 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +If you use the zlib library in a product, we would appreciate *not* receiving +lengthy legal documents to sign. The sources are provided for free but without +warranty of any kind. The library has been entirely written by Jean-loup +Gailly and Mark Adler; it does not include third-party code. + +If you redistribute modified sources, we would appreciate that you include in +the file ChangeLog history information documenting your changes. Please read +the FAQ for more information on the distribution of modified source versions. diff --git a/contrib/hbmzip/3rd/minizip/minizip.dif b/contrib/hbmzip/3rd/minizip/minizip.dif index 0fc3d39512..ff11c6f2ec 100644 --- a/contrib/hbmzip/3rd/minizip/minizip.dif +++ b/contrib/hbmzip/3rd/minizip/minizip.dif @@ -1,14 +1,7 @@ -diff -u minizip.orig\crypt.h minizip\crypt.h ---- minizip.orig\crypt.h Sun Oct 25 22:49:58 2009 -+++ minizip\crypt.h Fri Jun 08 16:12:21 2012 -@@ -32,12 +32,14 @@ - /*********************************************************************** - * Return the next byte in the pseudo-random sequence - */ --static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab) -+static int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab) - { - unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an +diff -urN minizip.orig/crypt.h minizip/crypt.h +--- minizip.orig/crypt.h 2014-02-03 23:03:08.376029998 +0100 ++++ minizip/crypt.h 2014-02-03 23:03:08.376029998 +0100 +@@ -38,6 +38,8 @@ * unpredictable manner on 16-bit systems; not a problem * with any known compiler so far, though */ @@ -17,36 +10,9 @@ diff -u minizip.orig\crypt.h minizip\crypt.h temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2; return (int)(((temp * (temp ^ 1)) >> 8) & 0xff); } -@@ -45,7 +47,7 @@ - /*********************************************************************** - * Update the encryption keys with the next byte of plain text - */ --static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int c) -+static int update_keys(unsigned long* pkeys,const z_crc_t* pcrc_32_tab,int c) - { - (*(pkeys+0)) = CRC32((*(pkeys+0)), c); - (*(pkeys+1)) += (*(pkeys+0)) & 0xff; -@@ -62,7 +64,7 @@ - * Initialize the encryption keys and the random header according to - * the given password. - */ --static void init_keys(const char* passwd,unsigned long* pkeys,const unsigned long* pcrc_32_tab) -+static void init_keys(const char* passwd,unsigned long* pkeys,const z_crc_t* pcrc_32_tab) - { - *(pkeys+0) = 305419896L; - *(pkeys+1) = 591751049L; -@@ -91,7 +93,7 @@ - unsigned char* buf, /* where to write header */ - int bufSize, - unsigned long* pkeys, -- const unsigned long* pcrc_32_tab, -+ const z_crc_t* pcrc_32_tab, - unsigned long crcForCrypting) - { - int n; /* index in random header */ -diff -u minizip.orig\ioapi.c minizip\ioapi.c ---- minizip.orig\ioapi.c Sat Jan 21 12:58:44 2012 -+++ minizip\ioapi.c Wed Feb 08 00:33:29 2012 +diff -urN minizip.orig/ioapi.c minizip/ioapi.c +--- minizip.orig/ioapi.c 2014-02-03 23:03:08.380029998 +0100 ++++ minizip/ioapi.c 2014-02-03 23:03:08.380029998 +0100 @@ -27,6 +27,7 @@ @@ -176,9 +142,9 @@ diff -u minizip.orig\ioapi.c minizip\ioapi.c { pzlib_filefunc_def->zopen_file = fopen_file_func; pzlib_filefunc_def->zread_file = fread_file_func; -diff -u minizip.orig\ioapi.h minizip\ioapi.h ---- minizip.orig\ioapi.h Mon Jan 16 19:51:30 2012 -+++ minizip\ioapi.h Wed Feb 08 00:39:52 2012 +diff -urN minizip.orig/ioapi.h minizip/ioapi.h +--- minizip.orig/ioapi.h 2014-02-03 23:03:08.380029998 +0100 ++++ minizip/ioapi.h 2014-02-03 23:03:08.380029998 +0100 @@ -21,30 +21,58 @@ #ifndef _ZLIBIOAPI64_H #define _ZLIBIOAPI64_H @@ -267,9 +233,9 @@ diff -u minizip.orig\ioapi.h minizip\ioapi.h #define ZCLOSE64(filefunc,filestream) ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream)) #define ZERROR64(filefunc,filestream) ((*((filefunc).zfile_func64.zerror_file)) ((filefunc).zfile_func64.opaque,filestream)) -diff -u minizip.orig\unzip.c minizip\unzip.c ---- minizip.orig\unzip.c Sat Jan 21 12:49:30 2012 -+++ minizip\unzip.c Fri Jun 08 16:24:24 2012 +diff -urN minizip.orig/unzip.c minizip/unzip.c +--- minizip.orig/unzip.c 2014-02-03 23:03:08.380029998 +0100 ++++ minizip/unzip.c 2014-02-03 23:03:08.380029998 +0100 @@ -68,13 +68,21 @@ #include #include @@ -305,15 +271,6 @@ diff -u minizip.orig\unzip.c minizip\unzip.c #endif #define SIZECENTRALDIRITEM (0x2e) -@@ -188,7 +196,7 @@ - - # ifndef NOUNCRYPT - unsigned long keys[3]; /* keys defining the pseudo-random sequence */ -- const unsigned long* pcrc_32_tab; -+ const z_crc_t* pcrc_32_tab; - # endif - } unz64_s; - @@ -1090,19 +1098,14 @@ if (lSeek!=0) @@ -369,9 +326,9 @@ diff -u minizip.orig\unzip.c minizip\unzip.c pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc; pfile_in_zip_read_info->crc32=0; -diff -u minizip.orig\zip.c minizip\zip.c ---- minizip.orig\zip.c Sat Feb 04 11:14:12 2012 -+++ minizip\zip.c Fri Jun 08 16:25:00 2012 +diff -urN minizip.orig/zip.c minizip/zip.c +--- minizip.orig/zip.c 2014-02-03 23:03:08.384029999 +0100 ++++ minizip/zip.c 2014-02-03 23:03:08.384029999 +0100 @@ -29,16 +29,24 @@ #include "zlib.h" #include "zip.h" @@ -397,7 +354,7 @@ diff -u minizip.orig\zip.c minizip\zip.c #ifndef local -@@ -59,10 +76,10 @@ +@@ -59,10 +67,10 @@ #endif #ifndef ALLOC @@ -410,16 +367,7 @@ diff -u minizip.orig\zip.c minizip\zip.c #endif /* -@@ -157,7 +174,7 @@ - ZPOS64_T totalUncompressedData; - #ifndef NOCRYPT - unsigned long keys[3]; /* keys defining the pseudo-random sequence */ -- const unsigned long* pcrc_32_tab; -+ const z_crc_t* pcrc_32_tab; - int crypt_header_size; - #endif - } curfile64_info; -@@ -186,6 +203,12 @@ +@@ -186,6 +194,12 @@ #include "crypt.h" #endif @@ -432,7 +380,7 @@ diff -u minizip.orig\zip.c minizip\zip.c local linkedlist_datablock_internal* allocate_new_datablock() { linkedlist_datablock_internal* ldi; -@@ -1034,10 +1057,10 @@ +@@ -1034,10 +1048,10 @@ // Remember position of Zip64 extended info for the local file header. (needed when we update size after done with file) zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc,zi->filestream); @@ -446,7 +394,7 @@ diff -u minizip.orig\zip.c minizip\zip.c err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)CompressedSize,8); } -@@ -1064,7 +1087,7 @@ +@@ -1064,7 +1078,7 @@ uInt size_filename; uInt size_comment; uInt i; @@ -455,7 +403,7 @@ diff -u minizip.orig\zip.c minizip\zip.c # ifdef NOCRYPT (crcForCrypting); -@@ -1370,7 +1393,7 @@ +@@ -1370,7 +1384,7 @@ uInt i; int t; for (i=0;ici.pos_in_buffered_data;i++) @@ -464,7 +412,7 @@ diff -u minizip.orig\zip.c minizip\zip.c #endif } -@@ -1471,12 +1494,13 @@ +@@ -1471,12 +1485,13 @@ { uLong uTotalOutBefore = zi->ci.stream.total_out; err=deflate(&zi->ci.stream, Z_NO_FLUSH); @@ -479,7 +427,7 @@ diff -u minizip.orig\zip.c minizip\zip.c zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; } else -@@ -1534,8 +1558,7 @@ +@@ -1534,8 +1549,7 @@ uLong uTotalOutBefore; if (zi->ci.stream.avail_out == 0) { @@ -489,7 +437,7 @@ diff -u minizip.orig\zip.c minizip\zip.c zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; zi->ci.stream.next_out = zi->ci.buffered_data; } -@@ -1649,7 +1672,7 @@ +@@ -1649,7 +1663,7 @@ if(datasize > 0) { @@ -498,7 +446,7 @@ diff -u minizip.orig\zip.c minizip\zip.c if((uLong)(datasize + 4) > zi->ci.size_centralExtraFree) { -@@ -1680,7 +1703,9 @@ +@@ -1680,7 +1694,9 @@ if(zi->ci.pos_local_header >= 0xffffffff) { zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8); @@ -508,7 +456,7 @@ diff -u minizip.orig\zip.c minizip\zip.c } // Update how much extra free space we got in the memory buffer -@@ -1697,7 +1722,7 @@ +@@ -1697,7 +1713,7 @@ if (err==ZIP_OK) err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader); @@ -517,7 +465,7 @@ diff -u minizip.orig\zip.c minizip\zip.c if (err==ZIP_OK) { -@@ -1754,7 +1779,7 @@ +@@ -1754,7 +1770,7 @@ int Write_Zip64EndOfCentralDirectoryLocator(zip64_internal* zi, ZPOS64_T zip64eocd_pos_inzip) { @@ -526,7 +474,7 @@ diff -u minizip.orig\zip.c minizip\zip.c ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset; err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDLOCHEADERMAGIC,4); -@@ -1776,7 +1801,7 @@ +@@ -1776,7 +1792,7 @@ int Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip) { @@ -535,7 +483,7 @@ diff -u minizip.orig\zip.c minizip\zip.c uLong Zip64DataSize = 44; -@@ -1815,7 +1840,7 @@ +@@ -1815,7 +1831,7 @@ } int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip) { @@ -544,7 +492,7 @@ diff -u minizip.orig\zip.c minizip\zip.c /*signature*/ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4); -@@ -1863,7 +1888,7 @@ +@@ -1863,7 +1879,7 @@ int Write_GlobalComment(zip64_internal* zi, const char* global_comment) { @@ -553,7 +501,7 @@ diff -u minizip.orig\zip.c minizip\zip.c uInt size_global_comment = 0; if(global_comment != NULL) -@@ -1957,7 +1982,7 @@ +@@ -1957,7 +1973,7 @@ short header; short dataSize; @@ -562,9 +510,9 @@ diff -u minizip.orig\zip.c minizip\zip.c if(pData == NULL || *dataLen < 4) return ZIP_PARAMERROR; -diff -u minizip.orig\zip.h minizip\zip.h ---- minizip.orig\zip.h Mon Feb 15 04:58:22 2010 -+++ minizip\zip.h Wed Feb 08 00:31:09 2012 +diff -urN minizip.orig/zip.h minizip/zip.h +--- minizip.orig/zip.h 2014-02-03 23:03:08.384029999 +0100 ++++ minizip/zip.h 2014-02-03 23:03:08.384029999 +0100 @@ -44,7 +44,7 @@ extern "C" { #endif diff --git a/contrib/hbmzip/3rd/minizip/minizip.hbp b/contrib/hbmzip/3rd/minizip/minizip.hbp index 4d4c719bef..f9dfe0c2eb 100644 --- a/contrib/hbmzip/3rd/minizip/minizip.hbp +++ b/contrib/hbmzip/3rd/minizip/minizip.hbp @@ -26,15 +26,16 @@ unzip.c -depincpath=zlib:/boot/develop/headers/3rdparty -depincpathlocal=zlib:../../../../src/3rd/zlib -# ORIGIN http://www.winimage.com/zLibDll/minizip.html -# VER 1.? (from zlib 1.27) -# URL http://www.winimage.com/zLibDll/unzip1?.zip +# ORIGIN http://zlib.net/ +# VER 1.2.8 +# URL https://downloads.sourceforge.net/libpng/zlib128.zip # DIFF minizip.dif # -# MAP crypt.h -# MAP ioapi.c -# MAP ioapi.h -# MAP unzip.c -# MAP unzip.h -# MAP zip.c -# MAP zip.h +# MAP README +# MAP contrib/minizip/crypt.h crypt.h +# MAP contrib/minizip/ioapi.c ioapi.c +# MAP contrib/minizip/ioapi.h ioapi.h +# MAP contrib/minizip/unzip.c unzip.c +# MAP contrib/minizip/unzip.h unzip.h +# MAP contrib/minizip/zip.c zip.c +# MAP contrib/minizip/zip.h zip.h diff --git a/contrib/hbmzip/3rd/minizip/unzip.c b/contrib/hbmzip/3rd/minizip/unzip.c index 1a68ec2018..6b205f9e80 100644 --- a/contrib/hbmzip/3rd/minizip/unzip.c +++ b/contrib/hbmzip/3rd/minizip/unzip.c @@ -809,9 +809,9 @@ extern unzFile ZEXPORT unzOpen64 (const void *path) } /* - Close a ZipFile opened with unzipOpen. - If there is files inside the .Zip opened with unzipOpenCurrentFile (see later), - these files MUST be closed with unzipCloseCurrentFile before call unzipClose. + Close a ZipFile opened with unzOpen. + If there is files inside the .Zip opened with unzOpenCurrentFile (see later), + these files MUST be closed with unzCloseCurrentFile before call unzClose. return UNZ_OK if there is no problem. */ extern int ZEXPORT unzClose (unzFile file) { @@ -1226,7 +1226,7 @@ extern int ZEXPORT unzGoToNextFile (unzFile file) /* Try locate the file szFileName in the zipfile. - For the iCaseSensitivity signification, see unzipStringFileNameCompare + For the iCaseSensitivity signification, see unzStringFileNameCompare return value : UNZ_OK if the file is found. It becomes the current file. @@ -2003,7 +2003,7 @@ extern int ZEXPORT unzGetLocalExtrafield (unzFile file, voidp buf, unsigned len) } /* - Close the file in zip opened with unzipOpenCurrentFile + Close the file in zip opened with unzOpenCurrentFile Return UNZ_CRCERROR if all the file was read but the CRC is not good */ extern int ZEXPORT unzCloseCurrentFile (unzFile file) diff --git a/contrib/hbmzip/3rd/minizip/unzip.h b/contrib/hbmzip/3rd/minizip/unzip.h index 3183968b77..2104e39150 100644 --- a/contrib/hbmzip/3rd/minizip/unzip.h +++ b/contrib/hbmzip/3rd/minizip/unzip.h @@ -197,9 +197,9 @@ extern unzFile ZEXPORT unzOpen2_64 OF((const void *path, extern int ZEXPORT unzClose OF((unzFile file)); /* - Close a ZipFile opened with unzipOpen. + Close a ZipFile opened with unzOpen. If there is files inside the .Zip opened with unzOpenCurrentFile (see later), - these files MUST be closed with unzipCloseCurrentFile before call unzipClose. + these files MUST be closed with unzCloseCurrentFile before call unzClose. return UNZ_OK if there is no problem. */ extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,