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)
This commit is contained in:
Przemysław Czerpak
2014-02-03 23:06:37 +01:00
parent 4c71e3d819
commit 56eab3d2ab
6 changed files with 172 additions and 103 deletions

View File

@@ -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

View File

@@ -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 <zlib@gzip.org>, or to Gilles Vollant
<info@winimage.com> 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 <markn@ieee.org> 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 <pmqs@cpan.org> 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 <amk@amk.ca> 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 <info@winimage.com>, 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.

View File

@@ -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 <stdlib.h>
#include <string.h>
@@ -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;i<zi->ci.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

View File

@@ -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

View File

@@ -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)

View File

@@ -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,