Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Zlib
提交
a383133c
T
Third Party Zlib
项目概览
OpenHarmony
/
Third Party Zlib
1 年多 前同步成功
通知
16
Star
112
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Zlib
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a383133c
编写于
9月 09, 2011
作者:
M
Mark Adler
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
zlib 1.1.4
上级
14763ac7
变更
33
展开全部
显示空白变更内容
内联
并排
Showing
33 changed file
with
1164 addition
and
143 deletion
+1164
-143
ChangeLog
ChangeLog
+10
-0
FAQ
FAQ
+68
-40
Makefile
Makefile
+4
-3
Makefile.in
Makefile.in
+4
-3
README
README
+33
-34
adler32.c
adler32.c
+1
-1
compress.c
compress.c
+1
-1
crc32.c
crc32.c
+1
-1
deflate.c
deflate.c
+3
-3
deflate.h
deflate.h
+1
-1
example.c
example.c
+1
-1
gzio.c
gzio.c
+1
-1
infblock.c
infblock.c
+8
-3
infblock.h
infblock.h
+1
-1
infcodes.c
infcodes.c
+3
-9
infcodes.h
infcodes.h
+1
-1
inffast.c
inffast.c
+30
-17
inffast.h
inffast.h
+1
-1
inflate.c
inflate.c
+1
-1
inftrees.c
inftrees.c
+4
-5
inftrees.h
inftrees.h
+1
-1
infutil.c
infutil.c
+1
-1
infutil.h
infutil.h
+1
-1
maketree.c
maketree.c
+1
-1
minigzip.c
minigzip.c
+1
-1
trees.c
trees.c
+1
-1
uncompr.c
uncompr.c
+1
-1
zconf.h
zconf.h
+1
-1
zlib.3
zlib.3
+3
-3
zlib.h
zlib.h
+3
-3
zlib.html
zlib.html
+971
-0
zutil.c
zutil.c
+1
-1
zutil.h
zutil.h
+1
-1
未找到文件。
ChangeLog
浏览文件 @
a383133c
ChangeLog file for zlib
ChangeLog file for zlib
Changes in 1.1.4 (11 March 2002)
- ZFREE was repeated on same allocation on some error conditions.
This creates a security problem described in
http://www.zlib.org/advisory-2002-03-11.txt
- Returned incorrect error (Z_MEM_ERROR) on some invalid data
- Avoid accesses before window for invalid distances with inflate window
less than 32K.
- force windowBits > 8 to avoid a bug in the encoder for a window size
of 256 bytes. (A complete fix will be available in 1.1.5).
Changes in 1.1.3 (9 July 1998)
Changes in 1.1.3 (9 July 1998)
- fix "an inflate input buffer bug that shows up on rare but persistent
- fix "an inflate input buffer bug that shows up on rare but persistent
occasions" (Mark)
occasions" (Mark)
...
...
FAQ
浏览文件 @
a383133c
...
@@ -3,70 +3,98 @@
...
@@ -3,70 +3,98 @@
If your question is not there, please check the zlib home page
If your question is not there, please check the zlib home page
http://www.cdrom.com/pub/infozip/zlib/ which may have more recent information.
http://www.zlib.org which may have more recent information.
The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
1) I need a Windows DLL
1. Is zlib Y2K-compliant?
2) I need a Visual Basic interface to zlib
3) compress() returns Z_BUF_ERROR
4) deflate or inflate returns Z_BUF_ERROR
5) Where is the zlib documentation (man pages, etc...)?
6) Why don't you use GNU autoconf, libtool, etc...?
7) There is a bug in zlib.
8) I get "undefined reference to gzputc"
Yes. zlib doesn't handle dates.
2. Where can I get a Windows DLL version?
1) I need a Windows DLL
The zlib sources can be compiled without change to produce a DLL. If you
want a precompiled DLL, see http://www.winimage.com/zLibDll/ . Questions
about the zlib DLL should be sent to Gilles Vollant (info@winimage.com).
The zlib sources can be compiled without change to produce a DLL.
3. Where can I get a Visual Basic interface to zlib?
If you want a precompiled DLL, see http://www.winimage.com/zLibDll
See
* http://www.winimage.com/zLibDll/cmp-z-it.zip
* http://www.dogma.net/markn/articles/zlibtool/zlibtool.htm
* contrib/visual-basic.txt in the zlib distribution
2) I need a Visual Basic interface to zlib
4. compress() returns Z_BUF_ERROR
See http://www.tcfb.com/dowseware/cmp-z-it.zip
Make sure that before the call of compress, the length of the compressed
http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
buffer is equal to the total size of the compressed buffer and not
and contrib/visual-basic.txt
zero. For Visual Basic, check that this parameter is passed by reference
("as any"), not by value ("as long").
3) compress
() returns Z_BUF_ERROR
5. deflate() or inflate
() returns Z_BUF_ERROR
Make sure that before the call of compress, the length of the
Before making the call, make sure that avail_in and avail_out are not
compressed buffer is equal to the total size of the compressed buffer
zero. When setting the parameter flush equal to Z_FINISH, also make sure
and not zero. For Visual Basic, check that this parameter is passed
that avail_out is big enough to allow processing all pending input.
by reference ("as any"), not by value ("as long").
6. Where's the zlib documentation (man pages, etc.)?
4) deflate or inflate returns Z_BUF_ERROR
It's in zlib.h for the moment, and Francis S. Lin has converted it to a
web page zlib.html. Volunteers to transform this to Unix-style man pages,
please contact Jean-loup Gailly (jloup@gzip.org). Examples of zlib usage
are in the files example.c and minigzip.c.
Make sure that before the call avail_in and avail_out are not zero.
7. Why don't you use GNU autoconf or libtool or ...?
Because we would like to keep zlib as a very small and simple
package. zlib is rather portable and doesn't need much configuration.
5) Where is the zlib documentation (man pages, etc...)?
8. I found a bug in zlib.
It's in zlib.h for the moment. Volunteers to transform this
Most of the time, such problems are due to an incorrect usage of
to man pages, please contact jloup@gzip.org. Examples of zlib usage
zlib. Please try to reproduce the problem with a small program and send
are in the files example.c and minigzip.c.
the corresponding source to us at zlib@gzip.org . Do not send
multi-megabyte data files without prior agreement.
9. Why do I get "undefined reference to gzputc"?
6) Why don't you use GNU autoconf, libtool, etc...?
If "make test" produces something like
Because we would like to keep zlib as a very small and simple package.
example.o(.text+0x154): undefined reference to `gzputc'
zlib is rather portable and doesn't need much configuration.
check that you don't have old files libz.* in /usr/lib, /usr/local/lib or
/usr/X11R6/lib. Remove any old versions, then do "make install".
7) There is a bug in
zlib.
10. I need a Delphi interface to
zlib.
Most of the time, such problems are due to an incorrect usage
See the directories contrib/delphi and contrib/delphi2 in the zlib
of zlib. Please try to reproduce the problem with a small
distribution.
program and send us the corresponding source at zlib@quest.jpl.nasa.gov
Do not send multi-megabyte data files without prior agreement.
11. Can zlib handle .zip archives?
8) I get "undefined reference to gzputc"
See the directory contrib/minizip in the zlib distribution.
If "make test" produces something like
12. Can zlib handle .Z files?
example.o(.text+0x174):
check that you don't have old files libz.* in /usr/lib, /usr/local/lib
No, sorry. You have to spawn an uncompress or gunzip subprocess, or adapt
or /usr/X11R6/lib. Remove old versions then do "make install".
the code of uncompress on your own.
13. How can I make a Unix shared library?
make clean
./configure -s
make
14. Why does "make test" fail on Mac OS X?
Mac OS X already includes zlib as a shared library, and so -lz links the
shared library instead of the one that the "make" compiled. For zlib
1.1.3, the two are incompatible due to different compile-time
options. Simply change the -lz in the Makefile to libz.a, and it will use
the compiled library instead of the shared one and the "make test" will
succeed.
15. I have a question about OttoPDF
We are not the authors of OttoPDF. The real author is on the OttoPDF web
site Joel Hainley jhainley@myndkryme.com.
Makefile
浏览文件 @
a383133c
# Makefile for zlib
# Makefile for zlib
# Copyright (C) 1995-
1998
Jean-loup Gailly.
# Copyright (C) 1995-
2002
Jean-loup Gailly.
# For conditions of distribution and use, see copyright notice in zlib.h
# For conditions of distribution and use, see copyright notice in zlib.h
# To compile and test, type:
# To compile and test, type:
...
@@ -24,7 +24,7 @@ LDFLAGS=-L. -lz
...
@@ -24,7 +24,7 @@ LDFLAGS=-L. -lz
LDSHARED
=
$(CC)
LDSHARED
=
$(CC)
CPP
=
$(CC)
-E
CPP
=
$(CC)
-E
VER
=
1.1.
3
VER
=
1.1.
4
LIBS
=
libz.a
LIBS
=
libz.a
SHAREDLIB
=
libz.so
SHAREDLIB
=
libz.so
...
@@ -47,7 +47,8 @@ OBJA =
...
@@ -47,7 +47,8 @@ OBJA =
TEST_OBJS
=
example.o minigzip.o
TEST_OBJS
=
example.o minigzip.o
DISTFILES
=
README FAQ INDEX ChangeLog configure Make
*
[
a-z0-9]
*
.[ch]
*
.mms
\
DISTFILES
=
README FAQ INDEX ChangeLog configure Make
*
[
a-z0-9]
*
.[ch]
*
.mms
\
algorithm.txt zlib.3 msdos/Make
*
[
a-z0-9] msdos/zlib.def msdos/zlib.rc
\
algorithm.txt zlib.3 zlib.html
\
msdos/Make
*
[
a-z0-9] msdos/zlib.def msdos/zlib.rc
\
nt/Make
*
[
a-z0-9] nt/zlib.dnt amiga/Make
*
.??? os2/M
*
.os2 os2/zlib.def
\
nt/Make
*
[
a-z0-9] nt/zlib.dnt amiga/Make
*
.??? os2/M
*
.os2 os2/zlib.def
\
contrib/RE
*
.contrib contrib/
*
.txt contrib/asm386/
*
.asm contrib/asm386/
*
.c
\
contrib/RE
*
.contrib contrib/
*
.txt contrib/asm386/
*
.asm contrib/asm386/
*
.c
\
contrib/asm386/
*
.bat contrib/asm386/zlibvc.d?? contrib/asm[56]86/
*
.?86
\
contrib/asm386/
*
.bat contrib/asm386/zlibvc.d?? contrib/asm[56]86/
*
.?86
\
...
...
Makefile.in
浏览文件 @
a383133c
# Makefile for zlib
# Makefile for zlib
# Copyright (C) 1995-
1998
Jean-loup Gailly.
# Copyright (C) 1995-
2002
Jean-loup Gailly.
# For conditions of distribution and use, see copyright notice in zlib.h
# For conditions of distribution and use, see copyright notice in zlib.h
# To compile and test, type:
# To compile and test, type:
...
@@ -24,7 +24,7 @@ LDFLAGS=-L. -lz
...
@@ -24,7 +24,7 @@ LDFLAGS=-L. -lz
LDSHARED
=
$(CC)
LDSHARED
=
$(CC)
CPP
=
$(CC)
-E
CPP
=
$(CC)
-E
VER
=
1.1.
3
VER
=
1.1.
4
LIBS
=
libz.a
LIBS
=
libz.a
SHAREDLIB
=
libz.so
SHAREDLIB
=
libz.so
...
@@ -47,7 +47,8 @@ OBJA =
...
@@ -47,7 +47,8 @@ OBJA =
TEST_OBJS
=
example.o minigzip.o
TEST_OBJS
=
example.o minigzip.o
DISTFILES
=
README FAQ INDEX ChangeLog configure Make
*
[
a-z0-9]
*
.[ch]
*
.mms
\
DISTFILES
=
README FAQ INDEX ChangeLog configure Make
*
[
a-z0-9]
*
.[ch]
*
.mms
\
algorithm.txt zlib.3 msdos/Make
*
[
a-z0-9] msdos/zlib.def msdos/zlib.rc
\
algorithm.txt zlib.3 zlib.html
\
msdos/Make
*
[
a-z0-9] msdos/zlib.def msdos/zlib.rc
\
nt/Make
*
[
a-z0-9] nt/zlib.dnt amiga/Make
*
.??? os2/M
*
.os2 os2/zlib.def
\
nt/Make
*
[
a-z0-9] nt/zlib.dnt amiga/Make
*
.??? os2/M
*
.os2 os2/zlib.def
\
contrib/RE
*
.contrib contrib/
*
.txt contrib/asm386/
*
.asm contrib/asm386/
*
.c
\
contrib/RE
*
.contrib contrib/
*
.txt contrib/asm386/
*
.asm contrib/asm386/
*
.c
\
contrib/asm386/
*
.bat contrib/asm386/zlibvc.d?? contrib/asm[56]86/
*
.?86
\
contrib/asm386/
*
.bat contrib/asm386/zlibvc.d?? contrib/asm[56]86/
*
.?86
\
...
...
README
浏览文件 @
a383133c
zlib 1.1.
3
is a general purpose data compression library. All the code
zlib 1.1.
4
is a general purpose data compression library. All the code
is thread safe. The data format used by the zlib library
is thread safe. The data format used by the zlib library
is described by RFCs (Request for Comments) 1950 to 1952 in the files
is described by RFCs (Request for Comments) 1950 to 1952 in the files
ftp://ds.internic.net
/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate
http://www.ietf.org
/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate
format) and rfc1952.txt (gzip format). These documents are also available in
format) and rfc1952.txt (gzip format). These documents are also available in
other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
...
@@ -14,51 +14,50 @@ except example.c and minigzip.c.
...
@@ -14,51 +14,50 @@ except example.c and minigzip.c.
To compile all files and run the test program, follow the instructions
To compile all files and run the test program, follow the instructions
given at the top of Makefile. In short "make test; make install"
given at the top of Makefile. In short "make test; make install"
should work for most machines. For Unix: "configure; make test; make install"
should work for most machines. For Unix: "
./
configure; make test; make install"
For MSDOS, use one of the special makefiles such as Makefile.msc.
For MSDOS, use one of the special makefiles such as Makefile.msc.
For VMS, use Make_vms.com or descrip.mms.
For VMS, use Make_vms.com or descrip.mms.
Questions about zlib should be sent to <zlib@
quest.jpl.nasa.gov
>, or to
Questions about zlib should be sent to <zlib@
gzip.org
>, or to
Gilles Vollant <info@winimage.com> for the Windows DLL version.
Gilles Vollant <info@winimage.com> for the Windows DLL version.
The zlib home page is http://www.cdrom.com/pub/infozip/zlib/
The zlib home page is http://www.zlib.org or http://www.gzip.org/zlib/
The official zlib ftp site is ftp://ftp.cdrom.com/pub/infozip/zlib/
Before reporting a problem, please check this site to verify that
Before reporting a problem, please check those sites to verify that
you have the latest version of zlib; otherwise get the latest version and
you have the latest version of zlib; otherwise get the latest version and
check whether the problem still exists or not.
check whether the problem still exists or not.
Mark Nelson <markn@tiny.com> wrote an article about zlib for the Jan. 1997
PLEASE read the zlib FAQ http://www.gzip.org/zlib/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 in
issue of Dr. Dobb's Journal; a copy of the article is available in
http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
http://dogma.net/markn/articles/zlibtool/zlibtool.htm
The changes made in version 1.1.3 are documented in the file ChangeLog.
The changes made in version 1.1.4 are documented in the file ChangeLog.
The main changes since 1.1.2 are:
The only changes made since 1.1.3 are bug corrections:
- fix "an inflate input buffer bug that shows up on rare but persistent
- ZFREE was repeated on same allocation on some error conditions.
occasions" (Mark)
This creates a security problem described in
- fix gzread and gztell for concatenated .gz files (Didier Le Botlan)
http://www.zlib.org/advisory-2002-03-11.txt
- fix gzseek(..., SEEK_SET) in write mode
- Returned incorrect error (Z_MEM_ERROR) on some invalid data
- fix crc check after a gzeek (Frank Faubert)
- Avoid accesses before window for invalid distances with inflate window
- fix miniunzip when the last entry in a zip file is itself a zip file
less than 32K.
(J Lillge)
- force windowBits > 8 to avoid a bug in the encoder for a window size
- add contrib/asm586 and contrib/asm686 (Brian Raiter)
of 256 bytes. (A complete fix will be available in 1.1.5).
See http://www.muppetlabs.com/~breadbox/software/assembly.html
- add support for Delphi 3 in contrib/delphi (Bob Dellaca)
The beta version 1.1.5beta includes many more changes. A new official
- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti)
version 1.1.5 will be released as soon as extensive testing has been
- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren)
completed on it.
- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks)
- added a FAQ file
plus many changes for portability.
Unsupported third party contributions are provided in directory "contrib".
Unsupported third party contributions are provided in directory "contrib".
A Java implementation of zlib is available in the Java Development Kit
1.1
A Java implementation of zlib is available in the Java Development Kit
http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
See the zlib home page http://www.
cdrom.com/pub/infozip/zlib/
for details.
See the zlib home page http://www.
zlib.org
for details.
A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk>
A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk>
is in the CPAN (Comprehensive Perl Archive Network) sites
, such as:
is in the CPAN (Comprehensive Perl Archive Network) sites
ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
http://www.cpan.org/modules/by-module/Compress/
A Python interface to zlib written by A.M. Kuchling <amk@magnet.com>
A Python interface to zlib written by A.M. Kuchling <amk@magnet.com>
is available in Python 1.5 and later versions, see
is available in Python 1.5 and later versions, see
...
@@ -117,7 +116,7 @@ Acknowledgments:
...
@@ -117,7 +116,7 @@ Acknowledgments:
Copyright notice:
Copyright notice:
(C) 1995-
1998
Jean-loup Gailly and Mark Adler
(C) 1995-
2002
Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
warranty. In no event will the authors be held liable for any damages
...
...
adler32.c
浏览文件 @
a383133c
/* adler32.c -- compute the Adler-32 checksum of a data stream
/* adler32.c -- compute the Adler-32 checksum of a data stream
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
compress.c
浏览文件 @
a383133c
/* compress.c -- compress a memory buffer
/* compress.c -- compress a memory buffer
* Copyright (C) 1995-
1998
Jean-loup Gailly.
* Copyright (C) 1995-
2002
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
crc32.c
浏览文件 @
a383133c
/* crc32.c -- compute the CRC-32 of a data stream
/* crc32.c -- compute the CRC-32 of a data stream
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
deflate.c
浏览文件 @
a383133c
/* deflate.c -- compress data using the deflation algorithm
/* deflate.c -- compress data using the deflation algorithm
* Copyright (C) 1995-
1998
Jean-loup Gailly.
* Copyright (C) 1995-
2002
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
#include "deflate.h"
#include "deflate.h"
const
char
deflate_copyright
[]
=
const
char
deflate_copyright
[]
=
" deflate 1.1.
3 Copyright 1995-1998
Jean-loup Gailly "
;
" deflate 1.1.
4 Copyright 1995-2002
Jean-loup Gailly "
;
/*
/*
If you use the zlib library in a product, an acknowledgment is welcome
If you use the zlib library in a product, an acknowledgment is welcome
in the documentation of your product. If for some reason you cannot
in the documentation of your product. If for some reason you cannot
...
@@ -242,7 +242,7 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
...
@@ -242,7 +242,7 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
windowBits
=
-
windowBits
;
windowBits
=
-
windowBits
;
}
}
if
(
memLevel
<
1
||
memLevel
>
MAX_MEM_LEVEL
||
method
!=
Z_DEFLATED
||
if
(
memLevel
<
1
||
memLevel
>
MAX_MEM_LEVEL
||
method
!=
Z_DEFLATED
||
windowBits
<
8
||
windowBits
>
15
||
level
<
0
||
level
>
9
||
windowBits
<
9
||
windowBits
>
15
||
level
<
0
||
level
>
9
||
strategy
<
0
||
strategy
>
Z_HUFFMAN_ONLY
)
{
strategy
<
0
||
strategy
>
Z_HUFFMAN_ONLY
)
{
return
Z_STREAM_ERROR
;
return
Z_STREAM_ERROR
;
}
}
...
...
deflate.h
浏览文件 @
a383133c
/* deflate.h -- internal compression state
/* deflate.h -- internal compression state
* Copyright (C) 1995-
1998
Jean-loup Gailly
* Copyright (C) 1995-
2002
Jean-loup Gailly
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
example.c
浏览文件 @
a383133c
/* example.c -- usage example of the zlib compression library
/* example.c -- usage example of the zlib compression library
* Copyright (C) 1995-
1998
Jean-loup Gailly.
* Copyright (C) 1995-
2002
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
gzio.c
浏览文件 @
a383133c
/* gzio.c -- IO on .gz files
/* gzio.c -- IO on .gz files
* Copyright (C) 1995-
1998
Jean-loup Gailly.
* Copyright (C) 1995-
2002
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*
*
* Compile this file with -DNO_DEFLATE to avoid the compression code.
* Compile this file with -DNO_DEFLATE to avoid the compression code.
...
...
infblock.c
浏览文件 @
a383133c
/* infblock.c -- interpret and process block types to last block
/* infblock.c -- interpret and process block types to last block
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
@@ -249,10 +249,12 @@ int r;
...
@@ -249,10 +249,12 @@ int r;
&
s
->
sub
.
trees
.
tb
,
s
->
hufts
,
z
);
&
s
->
sub
.
trees
.
tb
,
s
->
hufts
,
z
);
if
(
t
!=
Z_OK
)
if
(
t
!=
Z_OK
)
{
{
ZFREE
(
z
,
s
->
sub
.
trees
.
blens
);
r
=
t
;
r
=
t
;
if
(
r
==
Z_DATA_ERROR
)
if
(
r
==
Z_DATA_ERROR
)
{
ZFREE
(
z
,
s
->
sub
.
trees
.
blens
);
s
->
mode
=
BAD
;
s
->
mode
=
BAD
;
}
LEAVE
LEAVE
}
}
s
->
sub
.
trees
.
index
=
0
;
s
->
sub
.
trees
.
index
=
0
;
...
@@ -313,11 +315,13 @@ int r;
...
@@ -313,11 +315,13 @@ int r;
t
=
inflate_trees_dynamic
(
257
+
(
t
&
0x1f
),
1
+
((
t
>>
5
)
&
0x1f
),
t
=
inflate_trees_dynamic
(
257
+
(
t
&
0x1f
),
1
+
((
t
>>
5
)
&
0x1f
),
s
->
sub
.
trees
.
blens
,
&
bl
,
&
bd
,
&
tl
,
&
td
,
s
->
sub
.
trees
.
blens
,
&
bl
,
&
bd
,
&
tl
,
&
td
,
s
->
hufts
,
z
);
s
->
hufts
,
z
);
ZFREE
(
z
,
s
->
sub
.
trees
.
blens
);
if
(
t
!=
Z_OK
)
if
(
t
!=
Z_OK
)
{
{
if
(
t
==
(
uInt
)
Z_DATA_ERROR
)
if
(
t
==
(
uInt
)
Z_DATA_ERROR
)
{
ZFREE
(
z
,
s
->
sub
.
trees
.
blens
);
s
->
mode
=
BAD
;
s
->
mode
=
BAD
;
}
r
=
t
;
r
=
t
;
LEAVE
LEAVE
}
}
...
@@ -329,6 +333,7 @@ int r;
...
@@ -329,6 +333,7 @@ int r;
}
}
s
->
sub
.
decode
.
codes
=
c
;
s
->
sub
.
decode
.
codes
=
c
;
}
}
ZFREE
(
z
,
s
->
sub
.
trees
.
blens
);
s
->
mode
=
CODES
;
s
->
mode
=
CODES
;
case
CODES
:
case
CODES
:
UPDATE
UPDATE
...
...
infblock.h
浏览文件 @
a383133c
/* infblock.h -- header to use infblock.c
/* infblock.h -- header to use infblock.c
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
infcodes.c
浏览文件 @
a383133c
/* infcodes.c -- process literals and length/distance pairs
/* infcodes.c -- process literals and length/distance pairs
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
@@ -196,15 +196,9 @@ int r;
...
@@ -196,15 +196,9 @@ int r;
Tracevv
((
stderr
,
"inflate: distance %u
\n
"
,
c
->
sub
.
copy
.
dist
));
Tracevv
((
stderr
,
"inflate: distance %u
\n
"
,
c
->
sub
.
copy
.
dist
));
c
->
mode
=
COPY
;
c
->
mode
=
COPY
;
case
COPY
:
/* o: copying bytes in window, waiting for space */
case
COPY
:
/* o: copying bytes in window, waiting for space */
#ifndef __TURBOC__
/* Turbo C bug for following expression */
f
=
(
uInt
)(
q
-
s
->
window
)
<
c
->
sub
.
copy
.
dist
?
s
->
end
-
(
c
->
sub
.
copy
.
dist
-
(
q
-
s
->
window
))
:
q
-
c
->
sub
.
copy
.
dist
;
#else
f
=
q
-
c
->
sub
.
copy
.
dist
;
f
=
q
-
c
->
sub
.
copy
.
dist
;
if
((
uInt
)(
q
-
s
->
window
)
<
c
->
sub
.
copy
.
dist
)
while
(
f
<
s
->
window
)
/* modulo window size-"while" instead */
f
=
s
->
end
-
(
c
->
sub
.
copy
.
dist
-
(
uInt
)(
q
-
s
->
window
));
f
+=
s
->
end
-
s
->
window
;
/* of "if" handles invalid distances */
#endif
while
(
c
->
len
)
while
(
c
->
len
)
{
{
NEEDOUT
NEEDOUT
...
...
infcodes.h
浏览文件 @
a383133c
/* infcodes.h -- header to use infcodes.c
/* infcodes.h -- header to use infcodes.c
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
inffast.c
浏览文件 @
a383133c
/* inffast.c -- process literals and length/distance pairs fast
/* inffast.c -- process literals and length/distance pairs fast
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
@@ -93,28 +93,41 @@ z_streamp z;
...
@@ -93,28 +93,41 @@ z_streamp z;
/* do the copy */
/* do the copy */
m
-=
c
;
m
-=
c
;
if
((
uInt
)(
q
-
s
->
window
)
>=
d
)
/* offset before dest */
{
/* just copy */
r
=
q
-
d
;
r
=
q
-
d
;
*
q
++
=
*
r
++
;
c
--
;
/* minimum count is three, */
if
(
r
<
s
->
window
)
/* wrap if needed */
*
q
++
=
*
r
++
;
c
--
;
/* so unroll loop a little */
}
else
/* else offset after destination */
{
{
e
=
d
-
(
uInt
)(
q
-
s
->
window
);
/* bytes from offset to end */
do
{
r
=
s
->
end
-
e
;
/* pointer to offset */
r
+=
s
->
end
-
s
->
window
;
/* force pointer in window */
if
(
c
>
e
)
/* if source crosses, */
}
while
(
r
<
s
->
window
);
/* covers invalid distances */
e
=
s
->
end
-
r
;
if
(
c
>
e
)
{
{
c
-=
e
;
/* copy to end of window
*/
c
-=
e
;
/* wrapped copy
*/
do
{
do
{
*
q
++
=
*
r
++
;
*
q
++
=
*
r
++
;
}
while
(
--
e
);
}
while
(
--
e
);
r
=
s
->
window
;
/* copy rest from start of window */
r
=
s
->
window
;
do
{
*
q
++
=
*
r
++
;
}
while
(
--
c
);
}
else
/* normal copy */
{
*
q
++
=
*
r
++
;
c
--
;
*
q
++
=
*
r
++
;
c
--
;
do
{
*
q
++
=
*
r
++
;
}
while
(
--
c
);
}
}
}
}
do
{
/* copy all or what's left */
else
/* normal copy */
{
*
q
++
=
*
r
++
;
c
--
;
*
q
++
=
*
r
++
;
c
--
;
do
{
*
q
++
=
*
r
++
;
*
q
++
=
*
r
++
;
}
while
(
--
c
);
}
while
(
--
c
);
}
break
;
break
;
}
}
else
if
((
e
&
64
)
==
0
)
else
if
((
e
&
64
)
==
0
)
...
...
inffast.h
浏览文件 @
a383133c
/* inffast.h -- header to use inffast.c
/* inffast.h -- header to use inffast.c
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
inflate.c
浏览文件 @
a383133c
/* inflate.c -- zlib interface to inflate modules
/* inflate.c -- zlib interface to inflate modules
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
inftrees.c
浏览文件 @
a383133c
/* inftrees.c -- generate Huffman trees for efficient decoding
/* inftrees.c -- generate Huffman trees for efficient decoding
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
#endif
#endif
const
char
inflate_copyright
[]
=
const
char
inflate_copyright
[]
=
" inflate 1.1.
3 Copyright 1995-1998
Mark Adler "
;
" inflate 1.1.
4 Copyright 1995-2002
Mark Adler "
;
/*
/*
If you use the zlib library in a product, an acknowledgment is welcome
If you use the zlib library in a product, an acknowledgment is welcome
in the documentation of your product. If for some reason you cannot
in the documentation of your product. If for some reason you cannot
...
@@ -104,8 +104,7 @@ uIntf *v; /* working area: values in order of bit length */
...
@@ -104,8 +104,7 @@ uIntf *v; /* working area: values in order of bit length */
/* Given a list of code lengths and a maximum table size, make a set of
/* Given a list of code lengths and a maximum table size, make a set of
tables to decode that set of codes. Return Z_OK on success, Z_BUF_ERROR
tables to decode that set of codes. Return Z_OK on success, Z_BUF_ERROR
if the given code set is incomplete (the tables are still built in this
if the given code set is incomplete (the tables are still built in this
case), Z_DATA_ERROR if the input is invalid (an over-subscribed set of
case), or Z_DATA_ERROR if the input is invalid. */
lengths), or Z_MEM_ERROR if not enough memory. */
{
{
uInt
a
;
/* counter for codes of length k */
uInt
a
;
/* counter for codes of length k */
...
@@ -231,7 +230,7 @@ uIntf *v; /* working area: values in order of bit length */
...
@@ -231,7 +230,7 @@ uIntf *v; /* working area: values in order of bit length */
/* allocate new table */
/* allocate new table */
if
(
*
hn
+
z
>
MANY
)
/* (note: doesn't matter for fixed) */
if
(
*
hn
+
z
>
MANY
)
/* (note: doesn't matter for fixed) */
return
Z_
MEM_ERROR
;
/* not enough memory
*/
return
Z_
DATA_ERROR
;
/* overflow of MANY
*/
u
[
h
]
=
q
=
hp
+
*
hn
;
u
[
h
]
=
q
=
hp
+
*
hn
;
*
hn
+=
z
;
*
hn
+=
z
;
...
...
inftrees.h
浏览文件 @
a383133c
/* inftrees.h -- header to use inftrees.c
/* inftrees.h -- header to use inftrees.c
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
infutil.c
浏览文件 @
a383133c
/* inflate_util.c -- data and routines common to blocks and codes
/* inflate_util.c -- data and routines common to blocks and codes
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
infutil.h
浏览文件 @
a383133c
/* infutil.h -- types and macros common to blocks and codes
/* infutil.h -- types and macros common to blocks and codes
* Copyright (C) 1995-
1998
Mark Adler
* Copyright (C) 1995-
2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
maketree.c
浏览文件 @
a383133c
/* maketree.c -- make inffixed.h table for decoding fixed codes
/* maketree.c -- make inffixed.h table for decoding fixed codes
* Copyright (C) 199
8
Mark Adler
* Copyright (C) 199
5-2002
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
minigzip.c
浏览文件 @
a383133c
/* minigzip.c -- simulate gzip using the zlib compression library
/* minigzip.c -- simulate gzip using the zlib compression library
* Copyright (C) 1995-
1998
Jean-loup Gailly.
* Copyright (C) 1995-
2002
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
trees.c
浏览文件 @
a383133c
/* trees.c -- output deflated data using Huffman coding
/* trees.c -- output deflated data using Huffman coding
* Copyright (C) 1995-
1998
Jean-loup Gailly
* Copyright (C) 1995-
2002
Jean-loup Gailly
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
uncompr.c
浏览文件 @
a383133c
/* uncompr.c -- decompress a memory buffer
/* uncompr.c -- decompress a memory buffer
* Copyright (C) 1995-
1998
Jean-loup Gailly.
* Copyright (C) 1995-
2002
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
zconf.h
浏览文件 @
a383133c
/* zconf.h -- configuration of the zlib compression library
/* zconf.h -- configuration of the zlib compression library
* Copyright (C) 1995-
1998
Jean-loup Gailly.
* Copyright (C) 1995-
2002
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
zlib.3
浏览文件 @
a383133c
.TH ZLIB 3 "
9 July 1998
"
.TH ZLIB 3 "
11 March 2002
"
.SH NAME
.SH NAME
zlib \- compression/decompression library
zlib \- compression/decompression library
.SH SYNOPSIS
.SH SYNOPSIS
...
@@ -81,8 +81,8 @@ These documents are also available in other formats from:
...
@@ -81,8 +81,8 @@ These documents are also available in other formats from:
.IP
.IP
ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
.SH AUTHORS
.SH AUTHORS
Version 1.1.
3
Version 1.1.
4
Copyright (C) 1995-
1998
Jean-loup Gailly (jloup@gzip.org)
Copyright (C) 1995-
2002
Jean-loup Gailly (jloup@gzip.org)
and Mark Adler (madler@alumni.caltech.edu).
and Mark Adler (madler@alumni.caltech.edu).
.LP
.LP
This software is provided "as-is,"
This software is provided "as-is,"
...
...
zlib.h
浏览文件 @
a383133c
/* zlib.h -- interface of the 'zlib' general purpose compression library
/* zlib.h -- interface of the 'zlib' general purpose compression library
version 1.1.
3, July 9th, 1998
version 1.1.
4, March 11th, 2002
Copyright (C) 1995-
1998
Jean-loup Gailly and Mark Adler
Copyright (C) 1995-
2002
Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
warranty. In no event will the authors be held liable for any damages
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
extern
"C"
{
extern
"C"
{
#endif
#endif
#define ZLIB_VERSION "1.1.
3
"
#define ZLIB_VERSION "1.1.
4
"
/*
/*
The 'zlib' compression library provides in-memory compression and
The 'zlib' compression library provides in-memory compression and
...
...
zlib.html
0 → 100644
浏览文件 @
a383133c
此差异已折叠。
点击以展开。
zutil.c
浏览文件 @
a383133c
/* zutil.c -- target dependent utility functions for the compression library
/* zutil.c -- target dependent utility functions for the compression library
* Copyright (C) 1995-
1998
Jean-loup Gailly.
* Copyright (C) 1995-
2002
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
zutil.h
浏览文件 @
a383133c
/* zutil.h -- internal interface and configuration of the compression library
/* zutil.h -- internal interface and configuration of the compression library
* Copyright (C) 1995-
1998
Jean-loup Gailly.
* Copyright (C) 1995-
2002
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
* For conditions of distribution and use, see copyright notice in zlib.h
*/
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录