Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Zlib
提交
9811b53d
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看板
提交
9811b53d
编写于
9月 09, 2011
作者:
M
Mark Adler
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
zlib 1.2.2.1
上级
79fbcdc9
变更
36
展开全部
显示空白变更内容
内联
并排
Showing
36 changed file
with
1338 addition
and
433 deletion
+1338
-433
ChangeLog
ChangeLog
+20
-0
Makefile
Makefile
+1
-1
Makefile.in
Makefile.in
+1
-1
README
README
+2
-2
adler32.c
adler32.c
+23
-1
as400/zlib.inc
as400/zlib.inc
+3
-3
compress.c
compress.c
+1
-1
contrib/infback9/inftree9.c
contrib/infback9/inftree9.c
+2
-2
contrib/inflate86/inffas86.c
contrib/inflate86/inffas86.c
+586
-212
contrib/inflate86/inffast.S
contrib/inflate86/inffast.S
+0
-9
contrib/vstudio/vc7/zlib.rc
contrib/vstudio/vc7/zlib.rc
+3
-3
crc32.c
crc32.c
+92
-3
deflate.c
deflate.c
+161
-13
deflate.h
deflate.h
+7
-1
example.c
example.c
+1
-3
gzio.c
gzio.c
+4
-5
infback.c
infback.c
+4
-4
inflate.c
inflate.c
+68
-7
inflate.h
inflate.h
+2
-5
inftrees.c
inftrees.c
+2
-2
minigzip.c
minigzip.c
+1
-3
projects/README.projects
projects/README.projects
+15
-12
projects/visualc6/README.txt
projects/visualc6/README.txt
+47
-12
projects/visualc6/example.dsp
projects/visualc6/example.dsp
+16
-16
projects/visualc6/minigzip.dsp
projects/visualc6/minigzip.dsp
+16
-16
projects/visualc6/zlib.dsp
projects/visualc6/zlib.dsp
+8
-8
qnx/package.qpg
qnx/package.qpg
+5
-5
trees.c
trees.c
+34
-14
win32/DLL_FAQ.txt
win32/DLL_FAQ.txt
+62
-35
win32/zlib1.rc
win32/zlib1.rc
+4
-4
zconf.h
zconf.h
+4
-0
zconf.in.h
zconf.in.h
+4
-0
zlib.3
zlib.3
+2
-2
zlib.h
zlib.h
+135
-22
zutil.c
zutil.c
+1
-5
zutil.h
zutil.h
+1
-1
未找到文件。
ChangeLog
浏览文件 @
9811b53d
ChangeLog file for zlib
Changes in 1.2.2.1 (31 October 2004)
- Allow inflateSetDictionary() call for raw inflate
- Fix inflate header crc check bug for file names and comments
- Add deflateSetHeader() and gz_header structure for custom gzip headers
- Add inflateGetheader() to retrieve gzip headers
- Add crc32_combine() and adler32_combine() functions
- Add alloc_func, free_func, in_func, out_func to Z_PREFIX list
- Use zstreamp consistently in zlib.h (inflate_back functions)
- Remove GUNZIP condition from definition of inflate_mode in inflate.h
and in contrib/inflate86/inffast.S [Truta, Anderson]
- Add support for AMD64 in contrib/inflate86/inffas86.c [Anderson]
- Update projects/README.projects and projects/visualc6 [Truta]
- Update win32/DLL_FAQ.txt [Truta]
- Avoid warning under NO_GZCOMPRESS in gzio.c; fix typo [Truta]
- Deprecate Z_ASCII; use Z_TEXT instead [Truta]
- Use a new algorithm for setting strm->data_type in trees.c [Truta]
- Do not define an exit() prototype in zutil.c unless DEBUG defined
- Remove prototype of exit() from zutil.c, example.c, minigzip.c [Truta]
- Add comment in zlib.h for Z_NO_FLUSH parameter to deflate()
Changes in 1.2.2 (3 October 2004)
- Update zlib.h comments on gzip in-memory processing
- Set adler to 1 in inflateReset() to support Java test suite [Walles]
...
...
Makefile
浏览文件 @
9811b53d
...
...
@@ -30,7 +30,7 @@ CPP=$(CC) -E
LIBS
=
libz.a
SHAREDLIB
=
libz.so
SHAREDLIBV
=
libz.so.1.2.2
SHAREDLIBV
=
libz.so.1.2.2
.1
SHAREDLIBM
=
libz.so.1
AR
=
ar rc
...
...
Makefile.in
浏览文件 @
9811b53d
...
...
@@ -30,7 +30,7 @@ CPP=$(CC) -E
LIBS
=
libz.a
SHAREDLIB
=
libz.so
SHAREDLIBV
=
libz.so.1.2.2
SHAREDLIBV
=
libz.so.1.2.2
.1
SHAREDLIBM
=
libz.so.1
AR
=
ar rc
...
...
README
浏览文件 @
9811b53d
ZLIB DATA COMPRESSION LIBRARY
zlib 1.2.2 is a general purpose data compression library. All the code is
zlib 1.2.2
.1
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://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
...
...
@@ -34,7 +34,7 @@ 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
http://dogma.net/markn/articles/zlibtool/zlibtool.htm
The changes made in version 1.2.2 are documented in the file ChangeLog.
The changes made in version 1.2.2
.1
are documented in the file ChangeLog.
Unsupported third party contributions are provided in directory "contrib".
...
...
adler32.c
浏览文件 @
9811b53d
/* adler32.c -- compute the Adler-32 checksum of a data stream
* Copyright (C) 1995-200
3
Mark Adler
* Copyright (C) 1995-200
4
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
...
...
@@ -72,3 +72,25 @@ uLong ZEXPORT adler32(adler, buf, len)
}
return
(
s2
<<
16
)
|
s1
;
}
/* ========================================================================= */
uLong
ZEXPORT
adler32_combine
(
adler1
,
adler2
,
len2
)
uLong
adler1
;
uLong
adler2
;
uLong
len2
;
{
unsigned
long
s1
;
unsigned
long
s2
;
len2
%=
BASE
;
s1
=
adler1
&
0xffff
;
s2
=
len2
*
s1
;
MOD
(
s2
);
s1
+=
(
adler2
&
0xffff
)
+
BASE
-
1
;
s2
+=
((
adler1
>>
16
)
&
0xffff
)
+
((
adler2
>>
16
)
&
0xffff
)
+
BASE
-
len2
;
if
(
s1
>
BASE
)
s1
-=
BASE
;
if
(
s1
>
BASE
)
s1
-=
BASE
;
if
(
s2
>
(
BASE
<<
1
))
s2
-=
(
BASE
<<
1
);
if
(
s2
>
BASE
)
s2
-=
BASE
;
return
(
s2
<<
16
)
|
s1
;
}
as400/zlib.inc
浏览文件 @
9811b53d
*
ZLIB
.
INC
-
Interface
to
the
general
purpose
compression
library
*
*
ILE
RPG400
version
by
Patrick
Monnerat
,
DATASPHERE
.
*
Version
1.2.2
*
Version
1.2.2
.1
*
*
*
WARNING
:
...
...
@@ -20,8 +20,8 @@
*
Constants
**************************************************************************
*
D
ZLIB_VERSION
C
'1.2.2'
Header
's version
D ZLIB_VERNUM C X'
122
0
'
D
ZLIB_VERSION
C
'1.2.2
.1
'
Header
's version
D ZLIB_VERNUM C X'
122
1
'
*
D Z_NO_FLUSH C 0
D Z_SYNC_FLUSH C 2
...
...
compress.c
浏览文件 @
9811b53d
/* compress.c -- compress a memory buffer
* Copyright (C) 1995-200
2
Jean-loup Gailly.
* Copyright (C) 1995-200
3
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
...
...
contrib/infback9/inftree9.c
浏览文件 @
9811b53d
...
...
@@ -9,7 +9,7 @@
#define MAXBITS 15
const
char
inflate9_copyright
[]
=
" inflate9 1.2.2 Copyright 1995-2004 Mark Adler "
;
" inflate9 1.2.2
.1
Copyright 1995-2004 Mark Adler "
;
/*
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
...
...
@@ -64,7 +64,7 @@ unsigned short FAR *work;
static
const
unsigned
short
lext
[
31
]
=
{
/* Length codes 257..285 extra */
128
,
128
,
128
,
128
,
128
,
128
,
128
,
128
,
129
,
129
,
129
,
129
,
130
,
130
,
130
,
130
,
131
,
131
,
131
,
131
,
132
,
132
,
132
,
132
,
133
,
133
,
133
,
133
,
144
,
199
,
198
};
133
,
133
,
133
,
133
,
144
,
77
,
207
};
static
const
unsigned
short
dbase
[
32
]
=
{
/* Distance codes 0..31 base */
1
,
2
,
3
,
4
,
5
,
7
,
9
,
13
,
17
,
25
,
33
,
49
,
65
,
97
,
129
,
193
,
257
,
385
,
513
,
769
,
1025
,
1537
,
2049
,
3073
,
...
...
contrib/inflate86/inffas86.c
浏览文件 @
9811b53d
此差异已折叠。
点击以展开。
contrib/inflate86/inffast.S
浏览文件 @
9811b53d
...
...
@@ -188,17 +188,8 @@
/*
*
typedef
enum
inflate_mode
consts
,
in
inflate
.
h
*/
#ifndef NO_GUNZIP
#define GUNZIP
#endif
#ifdef GUNZIP
#define INFLATE_MODE_TYPE 11 /* state->mode flags enum-ed in inflate.h */
#define INFLATE_MODE_BAD 26
#else
#define INFLATE_MODE_TYPE 3
#define INFLATE_MODE_BAD 17
#endif
#if ! defined( USE_MMX ) && ! defined( NO_MMX )
...
...
contrib/vstudio/vc7/zlib.rc
浏览文件 @
9811b53d
...
...
@@ -2,8 +2,8 @@
#define IDR_VERSION1 1
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
FILEVERSION 1,2,2
PRODUCTVERSION 1,2,2
FILEVERSION 1,2,2
,1
PRODUCTVERSION 1,2,2
,1
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS 0
FILEOS VOS_DOS_WINDOWS32
...
...
@@ -17,7 +17,7 @@ BEGIN
BEGIN
VALUE "FileDescription", "zlib data compression library\0"
VALUE "FileVersion", "1.2.2\0"
VALUE "FileVersion", "1.2.2
.1
\0"
VALUE "InternalName", "zlib\0"
VALUE "OriginalFilename", "zlib.dll\0"
VALUE "ProductName", "ZLib.DLL\0"
...
...
crc32.c
浏览文件 @
9811b53d
/* crc32.c -- compute the CRC-32 of a data stream
* Copyright (C) 1995-200
3
Mark Adler
* Copyright (C) 1995-200
4
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*
* Thanks to Rodney Brown <rbrown64@csc.com.au> for his contribution of faster
* CRC methods: exclusive-oring 32 bits of data at a time, and pre-computing
* tables for updating the shift register in one step with three exclusive-ors
* instead of four steps with four exclusive-ors. This results
about a factor
* of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3.
* instead of four steps with four exclusive-ors. This results
in about a
*
factor
of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3.
*/
/* @(#) $Id$ */
...
...
@@ -72,6 +72,9 @@ local void make_crc_table OF((void));
#ifdef MAKECRCH
local
void
write_table
OF
((
FILE
*
,
const
unsigned
long
FAR
*
));
#endif
/* MAKECRCH */
local
unsigned
long
gf2_matrix_times
OF
((
unsigned
long
*
mat
,
unsigned
long
vec
));
local
void
gf2_matrix_square
OF
((
unsigned
long
*
square
,
unsigned
long
*
mat
));
/*
Generate tables for a byte-wise 32-bit CRC calculation on the polynomial:
...
...
@@ -331,3 +334,89 @@ local unsigned long crc32_big(crc, buf, len)
}
#endif
/* BYFOUR */
#define GF2_DIM 32
/* dimension of GF(2) vectors (length of CRC) */
/* ========================================================================= */
local
unsigned
long
gf2_matrix_times
(
mat
,
vec
)
unsigned
long
*
mat
;
unsigned
long
vec
;
{
unsigned
long
sum
;
sum
=
0
;
while
(
vec
)
{
if
(
vec
&
1
)
sum
^=
*
mat
;
vec
>>=
1
;
mat
++
;
}
return
sum
;
}
/* ========================================================================= */
local
void
gf2_matrix_square
(
square
,
mat
)
unsigned
long
*
square
;
unsigned
long
*
mat
;
{
int
n
;
for
(
n
=
0
;
n
<
GF2_DIM
;
n
++
)
square
[
n
]
=
gf2_matrix_times
(
mat
,
mat
[
n
]);
}
/* ========================================================================= */
uLong
ZEXPORT
crc32_combine
(
crc1
,
crc2
,
len2
)
uLong
crc1
;
uLong
crc2
;
uLong
len2
;
{
int
n
;
unsigned
long
row
;
unsigned
long
even
[
GF2_DIM
];
/* even-power-of-two zeros operator */
unsigned
long
odd
[
GF2_DIM
];
/* odd-power-of-two zeros operator */
/* degenerate case */
if
(
len2
==
0
)
return
crc1
;
/* put operator for one zero bit in odd */
odd
[
0
]
=
0xedb88320L
;
/* CRC-32 polynomial */
row
=
1
;
for
(
n
=
1
;
n
<
GF2_DIM
;
n
++
)
{
odd
[
n
]
=
row
;
row
<<=
1
;
}
/* put operator for two zero bits in even */
gf2_matrix_square
(
even
,
odd
);
/* put operator for four zero bits in odd */
gf2_matrix_square
(
odd
,
even
);
/* apply len2 zeros to crc1 (first square will put the operator for one
zero byte, eight zero bits, in even) */
do
{
/* apply zeros operator for this bit of len2 */
gf2_matrix_square
(
even
,
odd
);
if
(
len2
&
1
)
crc1
=
gf2_matrix_times
(
even
,
crc1
);
len2
>>=
1
;
/* if no more bits set, then done */
if
(
len2
==
0
)
break
;
/* another iteration of the loop with odd and even swapped */
gf2_matrix_square
(
odd
,
even
);
if
(
len2
&
1
)
crc1
=
gf2_matrix_times
(
odd
,
crc1
);
len2
>>=
1
;
/* if no more bits set, then done */
}
while
(
len2
!=
0
);
/* return combined crc */
crc1
^=
crc2
;
return
crc1
;
}
deflate.c
浏览文件 @
9811b53d
...
...
@@ -52,7 +52,7 @@
#include "deflate.h"
const
char
deflate_copyright
[]
=
" deflate 1.2.2 Copyright 1995-2004 Jean-loup Gailly "
;
" deflate 1.2.2
.1
Copyright 1995-2004 Jean-loup Gailly "
;
/*
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
...
...
@@ -274,6 +274,7 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
s
->
strm
=
strm
;
s
->
wrap
=
wrap
;
s
->
gzhead
=
Z_NULL
;
s
->
w_bits
=
windowBits
;
s
->
w_size
=
1
<<
s
->
w_bits
;
s
->
w_mask
=
s
->
w_size
-
1
;
...
...
@@ -390,6 +391,17 @@ int ZEXPORT deflateReset (strm)
return
Z_OK
;
}
/* ========================================================================= */
int
ZEXPORT
deflateSetHeader
(
strm
,
head
)
z_streamp
strm
;
gz_headerp
head
;
{
if
(
strm
==
Z_NULL
||
strm
->
state
==
Z_NULL
)
return
Z_STREAM_ERROR
;
if
(
strm
->
state
->
wrap
!=
2
)
return
Z_STREAM_ERROR
;
strm
->
state
->
gzhead
=
head
;
return
Z_OK
;
}
/* ========================================================================= */
int
ZEXPORT
deflatePrime
(
strm
,
bits
,
value
)
z_streamp
strm
;
...
...
@@ -548,9 +560,11 @@ int ZEXPORT deflate (strm, flush)
if
(
s
->
status
==
INIT_STATE
)
{
#ifdef GZIP
if
(
s
->
wrap
==
2
)
{
strm
->
adler
=
crc32
(
0L
,
Z_NULL
,
0
);
put_byte
(
s
,
31
);
put_byte
(
s
,
139
);
put_byte
(
s
,
8
);
if
(
s
->
gzhead
==
NULL
)
{
put_byte
(
s
,
0
);
put_byte
(
s
,
0
);
put_byte
(
s
,
0
);
...
...
@@ -561,7 +575,32 @@ int ZEXPORT deflate (strm, flush)
4
:
0
));
put_byte
(
s
,
255
);
s
->
status
=
BUSY_STATE
;
strm
->
adler
=
crc32
(
0L
,
Z_NULL
,
0
);
}
else
{
put_byte
(
s
,
(
s
->
gzhead
->
text
?
1
:
0
)
+
(
s
->
gzhead
->
hcrc
?
2
:
0
)
+
(
s
->
gzhead
->
extra
==
Z_NULL
?
0
:
4
)
+
(
s
->
gzhead
->
name
==
Z_NULL
?
0
:
8
)
+
(
s
->
gzhead
->
comment
==
Z_NULL
?
0
:
16
)
);
put_byte
(
s
,
s
->
gzhead
->
time
&
0xff
);
put_byte
(
s
,
(
s
->
gzhead
->
time
>>
8
)
&
0xff
);
put_byte
(
s
,
(
s
->
gzhead
->
time
>>
16
)
&
0xff
);
put_byte
(
s
,
(
s
->
gzhead
->
time
>>
24
)
&
0xff
);
put_byte
(
s
,
s
->
level
==
9
?
2
:
(
s
->
strategy
>=
Z_HUFFMAN_ONLY
||
s
->
level
<
2
?
4
:
0
));
put_byte
(
s
,
s
->
gzhead
->
os
&
0xff
);
if
(
s
->
gzhead
->
extra
!=
NULL
)
{
put_byte
(
s
,
s
->
gzhead
->
extra_len
&
0xff
);
put_byte
(
s
,
(
s
->
gzhead
->
extra_len
>>
8
)
&
0xff
);
}
if
(
s
->
gzhead
->
hcrc
)
strm
->
adler
=
crc32
(
strm
->
adler
,
s
->
pending_buf
,
s
->
pending
);
s
->
gzindex
=
0
;
s
->
status
=
EXTRA_STATE
;
}
}
else
#endif
...
...
@@ -592,6 +631,110 @@ int ZEXPORT deflate (strm, flush)
strm
->
adler
=
adler32
(
0L
,
Z_NULL
,
0
);
}
}
#ifdef GZIP
if
(
s
->
status
==
EXTRA_STATE
)
{
if
(
s
->
gzhead
->
extra
!=
NULL
)
{
int
beg
=
s
->
pending
;
/* start of bytes to update crc */
while
(
s
->
gzindex
<
(
s
->
gzhead
->
extra_len
&
0xffff
))
{
if
(
s
->
pending
==
s
->
pending_buf_size
)
{
if
(
s
->
gzhead
->
hcrc
&&
s
->
pending
>
beg
)
strm
->
adler
=
crc32
(
strm
->
adler
,
s
->
pending_buf
+
beg
,
s
->
pending
-
beg
);
flush_pending
(
strm
);
beg
=
s
->
pending
;
if
(
s
->
pending
==
s
->
pending_buf_size
)
break
;
}
put_byte
(
s
,
s
->
gzhead
->
extra
[
s
->
gzindex
]);
s
->
gzindex
++
;
}
if
(
s
->
gzhead
->
hcrc
&&
s
->
pending
>
beg
)
strm
->
adler
=
crc32
(
strm
->
adler
,
s
->
pending_buf
+
beg
,
s
->
pending
-
beg
);
if
(
s
->
gzindex
==
s
->
gzhead
->
extra_len
)
{
s
->
gzindex
=
0
;
s
->
status
=
NAME_STATE
;
}
}
else
s
->
status
=
NAME_STATE
;
}
if
(
s
->
status
==
NAME_STATE
)
{
if
(
s
->
gzhead
->
name
!=
NULL
)
{
int
beg
=
s
->
pending
;
/* start of bytes to update crc */
int
val
;
do
{
if
(
s
->
pending
==
s
->
pending_buf_size
)
{
if
(
s
->
gzhead
->
hcrc
&&
s
->
pending
>
beg
)
strm
->
adler
=
crc32
(
strm
->
adler
,
s
->
pending_buf
+
beg
,
s
->
pending
-
beg
);
flush_pending
(
strm
);
beg
=
s
->
pending
;
if
(
s
->
pending
==
s
->
pending_buf_size
)
{
val
=
1
;
break
;
}
}
val
=
s
->
gzhead
->
name
[
s
->
gzindex
++
];
put_byte
(
s
,
val
);
}
while
(
val
!=
0
);
if
(
s
->
gzhead
->
hcrc
&&
s
->
pending
>
beg
)
strm
->
adler
=
crc32
(
strm
->
adler
,
s
->
pending_buf
+
beg
,
s
->
pending
-
beg
);
if
(
val
==
0
)
{
s
->
gzindex
=
0
;
s
->
status
=
COMMENT_STATE
;
}
}
else
s
->
status
=
COMMENT_STATE
;
}
if
(
s
->
status
==
COMMENT_STATE
)
{
if
(
s
->
gzhead
->
comment
!=
NULL
)
{
int
beg
=
s
->
pending
;
/* start of bytes to update crc */
int
val
;
do
{
if
(
s
->
pending
==
s
->
pending_buf_size
)
{
if
(
s
->
gzhead
->
hcrc
&&
s
->
pending
>
beg
)
strm
->
adler
=
crc32
(
strm
->
adler
,
s
->
pending_buf
+
beg
,
s
->
pending
-
beg
);
flush_pending
(
strm
);
beg
=
s
->
pending
;
if
(
s
->
pending
==
s
->
pending_buf_size
)
{
val
=
1
;
break
;
}
}
val
=
s
->
gzhead
->
comment
[
s
->
gzindex
++
];
put_byte
(
s
,
val
);
}
while
(
val
!=
0
);
if
(
s
->
gzhead
->
hcrc
&&
s
->
pending
>
beg
)
strm
->
adler
=
crc32
(
strm
->
adler
,
s
->
pending_buf
+
beg
,
s
->
pending
-
beg
);
if
(
val
==
0
)
s
->
status
=
HCRC_STATE
;
}
else
s
->
status
=
HCRC_STATE
;
}
if
(
s
->
status
==
HCRC_STATE
)
{
if
(
s
->
gzhead
->
hcrc
)
{
if
(
s
->
pending
+
2
>
s
->
pending_buf_size
)
flush_pending
(
strm
);
if
(
s
->
pending
+
2
<=
s
->
pending_buf_size
)
{
put_byte
(
s
,
strm
->
adler
&
0xff
);
put_byte
(
s
,
(
strm
->
adler
>>
8
)
&
0xff
);
strm
->
adler
=
crc32
(
0L
,
Z_NULL
,
0
);
s
->
status
=
BUSY_STATE
;
}
}
else
s
->
status
=
BUSY_STATE
;
}
#endif
/* Flush as much pending output as possible */
if
(
s
->
pending
!=
0
)
{
...
...
@@ -704,7 +847,12 @@ int ZEXPORT deflateEnd (strm)
if
(
strm
==
Z_NULL
||
strm
->
state
==
Z_NULL
)
return
Z_STREAM_ERROR
;
status
=
strm
->
state
->
status
;
if
(
status
!=
INIT_STATE
&&
status
!=
BUSY_STATE
&&
if
(
status
!=
INIT_STATE
&&
status
!=
EXTRA_STATE
&&
status
!=
NAME_STATE
&&
status
!=
COMMENT_STATE
&&
status
!=
HCRC_STATE
&&
status
!=
BUSY_STATE
&&
status
!=
FINISH_STATE
)
{
return
Z_STREAM_ERROR
;
}
...
...
deflate.h
浏览文件 @
9811b53d
/* deflate.h -- internal compression state
* Copyright (C) 1995-200
2
Jean-loup Gailly
* Copyright (C) 1995-200
4
Jean-loup Gailly
* For conditions of distribution and use, see copyright notice in zlib.h
*/
...
...
@@ -49,6 +49,10 @@
/* All codes must not exceed MAX_BITS bits */
#define INIT_STATE 42
#define EXTRA_STATE 69
#define NAME_STATE 73
#define COMMENT_STATE 91
#define HCRC_STATE 103
#define BUSY_STATE 113
#define FINISH_STATE 666
/* Stream status */
...
...
@@ -95,6 +99,8 @@ typedef struct internal_state {
Bytef
*
pending_out
;
/* next pending byte to output to the stream */
int
pending
;
/* nb of bytes in the pending buffer */
int
wrap
;
/* bit 0 true for zlib, bit 1 true for gzip */
gz_headerp
gzhead
;
/* gzip header information to write */
int
gzindex
;
/* where in extra, name, or comment */
Byte
method
;
/* STORED (for zip only) or DEFLATED */
int
last_flush
;
/* value of flush param for previous deflate call */
...
...
example.c
浏览文件 @
9811b53d
/* example.c -- usage example of the zlib compression library
* Copyright (C) 1995-200
3
Jean-loup Gailly.
* Copyright (C) 1995-200
4
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
...
...
@@ -11,8 +11,6 @@
#ifdef STDC
# include <string.h>
# include <stdlib.h>
#else
extern
void
exit
OF
((
int
));
#endif
#if defined(VMS) || defined(RISCOS)
...
...
gzio.c
浏览文件 @
9811b53d
/* gzio.c -- IO on .gz files
* Copyright (C) 1995-200
3
Jean-loup Gailly.
* Copyright (C) 1995-200
4
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*
* Compile this file with -DNO_GZCOMPRESS to avoid the compression code.
...
...
@@ -11,7 +11,7 @@
#include "zutil.h"
#ifdef NO_DEFLATE
/* for compatiblity with old definition */
#ifdef NO_DEFLATE
/* for compatib
i
lity with old definition */
# define NO_GZCOMPRESS
#endif
...
...
@@ -941,7 +941,6 @@ local uLong getLong (s)
int
ZEXPORT
gzclose
(
file
)
gzFile
file
;
{
int
err
;
gz_stream
*
s
=
(
gz_stream
*
)
file
;
if
(
s
==
NULL
)
return
Z_STREAM_ERROR
;
...
...
@@ -950,8 +949,8 @@ int ZEXPORT gzclose (file)
#ifdef NO_GZCOMPRESS
return
Z_STREAM_ERROR
;
#else
err
=
do_flush
(
file
,
Z_FINISH
);
if
(
err
!=
Z_OK
)
return
destroy
((
gz_stream
*
)
file
);
if
(
do_flush
(
file
,
Z_FINISH
)
!=
Z_OK
)
return
destroy
((
gz_stream
*
)
file
);
putLong
(
s
->
file
,
s
->
crc
);
putLong
(
s
->
file
,
(
uLong
)(
s
->
in
&
0xffffffff
));
...
...
infback.c
浏览文件 @
9811b53d
/* infback.c -- inflate using a call-back interface
* Copyright (C) 1995-200
3
Mark Adler
* Copyright (C) 1995-200
4
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
...
...
@@ -26,7 +26,7 @@ local void fixedtables OF((struct inflate_state FAR *state));
window and output buffer that is 2**windowBits bytes.
*/
int
ZEXPORT
inflateBackInit_
(
strm
,
windowBits
,
window
,
version
,
stream_size
)
z_stream
FAR
*
strm
;
z_stream
p
strm
;
int
windowBits
;
unsigned
char
FAR
*
window
;
const
char
*
version
;
...
...
@@ -238,7 +238,7 @@ struct inflate_state FAR *state;
are not correct, i.e. strm is Z_NULL or the state was not initialized.
*/
int
ZEXPORT
inflateBack
(
strm
,
in
,
in_desc
,
out
,
out_desc
)
z_stream
FAR
*
strm
;
z_stream
p
strm
;
in_func
in
;
void
FAR
*
in_desc
;
out_func
out
;
...
...
@@ -611,7 +611,7 @@ void FAR *out_desc;
}
int
ZEXPORT
inflateBackEnd
(
strm
)
z_stream
FAR
*
strm
;
z_stream
p
strm
;
{
if
(
strm
==
Z_NULL
||
strm
->
state
==
Z_NULL
||
strm
->
zfree
==
(
free_func
)
0
)
return
Z_STREAM_ERROR
;
...
...
inflate.c
浏览文件 @
9811b53d
/* inflate.c -- zlib decompression
* Copyright (C) 1995-200
3
Mark Adler
* Copyright (C) 1995-200
4
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
...
...
@@ -113,6 +113,7 @@ z_streamp strm;
state
->
mode
=
HEAD
;
state
->
last
=
0
;
state
->
havedict
=
0
;
state
->
head
=
Z_NULL
;
state
->
wsize
=
0
;
state
->
whave
=
0
;
state
->
hold
=
0
;
...
...
@@ -582,6 +583,8 @@ int flush;
break
;
}
state
->
flags
=
0
;
/* expect zlib header */
if
(
state
->
head
!=
Z_NULL
)
state
->
head
->
done
=
-
1
;
if
(
!
(
state
->
wrap
&
1
)
||
/* check if zlib header allowed */
#else
if
(
...
...
@@ -621,16 +624,24 @@ int flush;
state
->
mode
=
BAD
;
break
;
}
if
(
state
->
head
!=
Z_NULL
)
state
->
head
->
text
=
(
int
)((
hold
>>
8
)
&
1
);
if
(
state
->
flags
&
0x0200
)
CRC2
(
state
->
check
,
hold
);
INITBITS
();
state
->
mode
=
TIME
;
case
TIME
:
NEEDBITS
(
32
);
if
(
state
->
head
!=
Z_NULL
)
state
->
head
->
time
=
hold
;
if
(
state
->
flags
&
0x0200
)
CRC4
(
state
->
check
,
hold
);
INITBITS
();
state
->
mode
=
OS
;
case
OS
:
NEEDBITS
(
16
);
if
(
state
->
head
!=
Z_NULL
)
{
state
->
head
->
xflags
=
(
int
)(
hold
&
0xff
);
state
->
head
->
os
=
(
int
)(
hold
>>
8
);
}
if
(
state
->
flags
&
0x0200
)
CRC2
(
state
->
check
,
hold
);
INITBITS
();
state
->
mode
=
EXLEN
;
...
...
@@ -638,15 +649,26 @@ int flush;
if
(
state
->
flags
&
0x0400
)
{
NEEDBITS
(
16
);
state
->
length
=
(
unsigned
)(
hold
);
if
(
state
->
head
!=
Z_NULL
)
state
->
head
->
extra_len
=
(
unsigned
)
hold
;
if
(
state
->
flags
&
0x0200
)
CRC2
(
state
->
check
,
hold
);
INITBITS
();
}
else
if
(
state
->
head
!=
Z_NULL
)
state
->
head
->
extra
=
Z_NULL
;
state
->
mode
=
EXTRA
;
case
EXTRA
:
if
(
state
->
flags
&
0x0400
)
{
copy
=
state
->
length
;
if
(
copy
>
have
)
copy
=
have
;
if
(
copy
)
{
if
(
state
->
head
!=
Z_NULL
&&
state
->
head
->
extra
!=
Z_NULL
)
{
len
=
state
->
head
->
extra_len
-
state
->
length
;
zmemcpy
(
state
->
head
->
extra
+
len
,
next
,
len
+
copy
>
state
->
head
->
extra_max
?
state
->
head
->
extra_max
-
len
:
copy
);
}
if
(
state
->
flags
&
0x0200
)
state
->
check
=
crc32
(
state
->
check
,
next
,
copy
);
have
-=
copy
;
...
...
@@ -655,6 +677,7 @@ int flush;
}
if
(
state
->
length
)
goto
inf_leave
;
}
state
->
length
=
0
;
state
->
mode
=
NAME
;
case
NAME
:
if
(
state
->
flags
&
0x0800
)
{
...
...
@@ -662,13 +685,20 @@ int flush;
copy
=
0
;
do
{
len
=
(
unsigned
)(
next
[
copy
++
]);
if
(
state
->
head
!=
Z_NULL
&&
state
->
head
->
name
!=
Z_NULL
&&
state
->
length
<
state
->
head
->
name_max
)
state
->
head
->
name
[
state
->
length
++
]
=
len
;
}
while
(
len
&&
copy
<
have
);
if
(
state
->
flags
&
0x0200
0
)
if
(
state
->
flags
&
0x0200
)
state
->
check
=
crc32
(
state
->
check
,
next
,
copy
);
have
-=
copy
;
next
+=
copy
;
if
(
len
)
goto
inf_leave
;
}
else
if
(
state
->
head
!=
Z_NULL
)
state
->
head
->
name
=
Z_NULL
;
state
->
length
=
0
;
state
->
mode
=
COMMENT
;
case
COMMENT
:
if
(
state
->
flags
&
0x1000
)
{
...
...
@@ -676,13 +706,19 @@ int flush;
copy
=
0
;
do
{
len
=
(
unsigned
)(
next
[
copy
++
]);
if
(
state
->
head
!=
Z_NULL
&&
state
->
head
->
comment
!=
Z_NULL
&&
state
->
length
<
state
->
head
->
comm_max
)
state
->
head
->
comment
[
state
->
length
++
]
=
len
;
}
while
(
len
&&
copy
<
have
);
if
(
state
->
flags
&
0x0200
0
)
if
(
state
->
flags
&
0x0200
)
state
->
check
=
crc32
(
state
->
check
,
next
,
copy
);
have
-=
copy
;
next
+=
copy
;
if
(
len
)
goto
inf_leave
;
}
else
if
(
state
->
head
!=
Z_NULL
)
state
->
head
->
comment
=
Z_NULL
;
state
->
mode
=
HCRC
;
case
HCRC
:
if
(
state
->
flags
&
0x0200
)
{
...
...
@@ -694,6 +730,10 @@ int flush;
}
INITBITS
();
}
if
(
state
->
head
!=
Z_NULL
)
{
state
->
head
->
hcrc
=
(
int
)((
state
->
flags
>>
9
)
&
1
);
state
->
head
->
done
=
1
;
}
strm
->
adler
=
state
->
check
=
crc32
(
0L
,
Z_NULL
,
0
);
state
->
mode
=
TYPE
;
break
;
...
...
@@ -1110,12 +1150,16 @@ uInt dictLength;
/* check state */
if
(
strm
==
Z_NULL
||
strm
->
state
==
Z_NULL
)
return
Z_STREAM_ERROR
;
state
=
(
struct
inflate_state
FAR
*
)
strm
->
state
;
if
(
state
->
mode
!=
DICT
)
return
Z_STREAM_ERROR
;
if
(
state
->
wrap
!=
0
&&
state
->
mode
!=
DICT
)
return
Z_STREAM_ERROR
;
/* check for correct dictionary id */
if
(
state
->
mode
==
DICT
)
{
id
=
adler32
(
0L
,
Z_NULL
,
0
);
id
=
adler32
(
id
,
dictionary
,
dictLength
);
if
(
id
!=
state
->
check
)
return
Z_DATA_ERROR
;
if
(
id
!=
state
->
check
)
return
Z_DATA_ERROR
;
}
/* copy dictionary to window */
if
(
updatewindow
(
strm
,
strm
->
avail_out
))
{
...
...
@@ -1137,6 +1181,23 @@ uInt dictLength;
return
Z_OK
;
}
int
ZEXPORT
inflateGetHeader
(
strm
,
head
)
z_streamp
strm
;
gz_headerp
head
;
{
struct
inflate_state
FAR
*
state
;
/* check state */
if
(
strm
==
Z_NULL
||
strm
->
state
==
Z_NULL
)
return
Z_STREAM_ERROR
;
state
=
(
struct
inflate_state
FAR
*
)
strm
->
state
;
if
((
state
->
wrap
&
2
)
==
0
)
return
Z_STREAM_ERROR
;
/* save header structure */
state
->
head
=
head
;
head
->
done
=
0
;
return
Z_OK
;
}
/*
Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found
or when out of input. When called, *have is the number of pattern bytes
...
...
inflate.h
浏览文件 @
9811b53d
/* inflate.h -- internal inflate state definition
* Copyright (C) 1995-200
3
Mark Adler
* Copyright (C) 1995-200
4
Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
...
...
@@ -19,7 +19,6 @@
/* Possible inflate modes between inflate() calls */
typedef
enum
{
HEAD
,
/* i: waiting for magic header */
#ifdef GUNZIP
FLAGS
,
/* i: waiting for method and flags (gzip) */
TIME
,
/* i: waiting for modification time (gzip) */
OS
,
/* i: waiting for extra flags and operating system (gzip) */
...
...
@@ -28,7 +27,6 @@ typedef enum {
NAME
,
/* i: waiting for end of file name (gzip) */
COMMENT
,
/* i: waiting for end of comment (gzip) */
HCRC
,
/* i: waiting for header crc (gzip) */
#endif
DICTID
,
/* i: waiting for dictionary check value */
DICT
,
/* waiting for inflateSetDictionary() call */
TYPE
,
/* i: waiting for type bits, including last-flag bit */
...
...
@@ -45,9 +43,7 @@ typedef enum {
MATCH
,
/* o: waiting for output space to copy string */
LIT
,
/* o: waiting for output space to write literal */
CHECK
,
/* i: waiting for 32-bit check value */
#ifdef GUNZIP
LENGTH
,
/* i: waiting for 32-bit length (gzip) */
#endif
DONE
,
/* finished check, done -- remain here until reset */
BAD
,
/* got a data error -- remain here until reset */
MEM
,
/* got an inflate() memory error -- remain here until reset */
...
...
@@ -86,6 +82,7 @@ struct inflate_state {
int
flags
;
/* gzip header method and flags (0 if zlib) */
unsigned
long
check
;
/* protected copy of check value */
unsigned
long
total
;
/* protected copy of output count */
gz_headerp
head
;
/* where to save gzip header information */
/* sliding window */
unsigned
wbits
;
/* log base 2 of requested window size */
unsigned
wsize
;
/* window size or zero if not using window */
...
...
inftrees.c
浏览文件 @
9811b53d
...
...
@@ -9,7 +9,7 @@
#define MAXBITS 15
const
char
inflate_copyright
[]
=
" inflate 1.2.2 Copyright 1995-2004 Mark Adler "
;
" inflate 1.2.2
.1
Copyright 1995-2004 Mark Adler "
;
/*
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
...
...
@@ -62,7 +62,7 @@ unsigned short FAR *work;
35
,
43
,
51
,
59
,
67
,
83
,
99
,
115
,
131
,
163
,
195
,
227
,
258
,
0
,
0
};
static
const
unsigned
short
lext
[
31
]
=
{
/* Length codes 257..285 extra */
16
,
16
,
16
,
16
,
16
,
16
,
16
,
16
,
17
,
17
,
17
,
17
,
18
,
18
,
18
,
18
,
19
,
19
,
19
,
19
,
20
,
20
,
20
,
20
,
21
,
21
,
21
,
21
,
16
,
199
,
198
};
19
,
19
,
19
,
19
,
20
,
20
,
20
,
20
,
21
,
21
,
21
,
21
,
16
,
77
,
207
};
static
const
unsigned
short
dbase
[
32
]
=
{
/* Distance codes 0..29 base */
1
,
2
,
3
,
4
,
5
,
7
,
9
,
13
,
17
,
25
,
33
,
49
,
65
,
97
,
129
,
193
,
257
,
385
,
513
,
769
,
1025
,
1537
,
2049
,
3073
,
4097
,
6145
,
...
...
minigzip.c
浏览文件 @
9811b53d
/* minigzip.c -- simulate gzip using the zlib compression library
* Copyright (C) 1995-200
2
Jean-loup Gailly.
* Copyright (C) 1995-200
4
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
...
...
@@ -21,8 +21,6 @@
#ifdef STDC
# include <string.h>
# include <stdlib.h>
#else
extern
void
exit
OF
((
int
));
#endif
#ifdef USE_MMAP
...
...
projects/README.projects
浏览文件 @
9811b53d
...
...
@@ -10,18 +10,21 @@ please consider submitting the project to the contrib directory.
Requirements
============
- The project must build zlib using exclusively the source files from
the official zlib distribution.
- If there are "official" makefiles in the zlib distribution, the builds
given by the makefiles must be compatible with the builds given by the
project. These builds are called "official" builds.
- It is possible to add non-official pieces of code to the project,
if the resulting build remains compatible with an official build.
For example, it is possible to add an "ASM build" target besides
the regular target, by including ASM source files from the contrib
directory.
- The project must build zlib using the source files from the official
zlib source distribution, exclusively.
- If the project produces redistributable builds (e.g. shared objects
or DLL files), these builds must be compatible to those produced by
makefiles, if such makefiles exist in the zlib distribution.
In particular, if the project produces a DLL build for the Win32
platform, this build must comply to the officially-ammended Win32 DLL
Application Binary Interface (ABI), described in win32/DLL_FAQ.txt.
- The project may provide additional build targets, which depend on
3rd-party (unofficially-supported) software, present in the contrib
directory. For example, it is possible to provide an "ASM build",
besides the officially-supported build, and have ASM source files
among its dependencies.
- If there are significant differences between the project files created
by different versions of an IDE (e.g. Visual C++ 6.0 vs. 7.0), the name
...
...
projects/visualc6/README.txt
浏览文件 @
9811b53d
...
...
@@ -5,7 +5,23 @@ Copyright (C) 2004 Cosmin Truta.
For conditions of distribution and use, see copyright notice in zlib.h.
To use:
This project builds the zlib binaries as follows:
* Win32_DLL_Release\zlib1.dll DLL build
* Win32_DLL_Debug\zlib1d.dll DLL build (debug version)
* Win32_DLL_ASM_Release\zlib1.dll DLL build using ASM code
* Win32_DLL_ASM_Debug\zlib1d.dll DLL build using ASM code (debug version)
* Win32_LIB_Release\zlib.lib static build
* Win32_LIB_Debug\zlibd.lib static build (debug version)
* Win32_LIB_ASM_Release\zlib.lib static build using ASM code
* Win32_LIB_ASM_Debug\zlibd.lib static build using ASM code (debug version)
For more information regarding the DLL builds, please see the DLL FAQ
in ..\..\win32\DLL_FAQ.txt.
To build and test:
1) On the main menu, select "File | Open Workspace".
Open "zlib.dsw".
...
...
@@ -22,17 +38,36 @@ To use:
select "Build | Execute ... (Ctrl+F5)".
T
his project builds the zlib binaries as follows
:
T
o use
:
* Win32_DLL_Release\zlib1.dll DLL build
* Win32_DLL_Debug\zlib1d.dll DLL build (debug version)
* Win32_DLL_ASM_Release\zlib1.dll DLL build using ASM code
* Win32_DLL_ASM_Debug\zlib1d.dll DLL build using ASM code (debug version)
* Win32_LIB_Release\zlib.lib static build
* Win32_LIB_Debug\zlibd.lib static build (debug version)
* Win32_LIB_ASM_Release\zlib.lib static build using ASM code
* Win32_LIB_ASM_Debug\zlibd.lib static build using ASM code (debug version)
1) Select "Project | Settings (Alt+F7)".
Make note of the configuration names used in your project.
Usually, these names are "Win32 Release" and "Win32 Debug".
2) In the Workspace window, select the "FileView" tab.
Right-click on the root item "Workspace '...'".
Select "Insert Project into Workspace".
Switch on the checkbox "Dependency of:", and select the name
of your project. Open "zlib.dsp".
For more information regarding the DLL builds, please see the DLL FAQ
in ..\..\win32\DLL_FAQ.txt.
3) Select "Build | Configurations".
For each configuration of your project:
3.1) Choose the zlib configuration you wish to use.
3.2) Click on "Add".
3.3) Set the new zlib configuration name to the name used by
the configuration from the current iteration.
4) Select "Build | Set Active Configuration".
Choose the configuration you wish to build.
5) Select "Build | Build ... (F7)".
6) If you built an executable program, select
"Build | Execute ... (Ctrl+F5)".
Note:
To build the ASM-enabled code, you need Microsoft Assembler
(ML.EXE). You can get it by downloading and installing the
latest Processor Pack for Visual C++ 6.0.
projects/visualc6/example.dsp
浏览文件 @
9811b53d
...
...
@@ -47,7 +47,7 @@ RSC=rc.exe
# PROP Intermediate_Dir "Win32_DLL_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# ADD BASE CPP /nologo /
MD /
W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT CPP /YX
...
...
@@ -58,7 +58,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32
zlib1.lib /nologo /subsystem:console /machine:I386 /libpath:"Win32_DLL_Release"
# ADD LINK32
/nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "example - Win32 DLL Debug"
...
...
@@ -73,7 +73,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_DLL_Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# ADD BASE CPP /nologo /
MDd /
W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT CPP /YX
...
...
@@ -84,7 +84,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32
zlib1d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"Win32_DLL_Debug"
# ADD LINK32
/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "example - Win32 DLL ASM Release"
...
...
@@ -99,7 +99,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_DLL_ASM_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# ADD BASE CPP /nologo /
MD /
W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT CPP /YX
...
...
@@ -110,7 +110,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32
zlib1.lib /nologo /subsystem:console /machine:I386 /libpath:"Win32_DLL_ASM_Release"
# ADD LINK32
/nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "example - Win32 DLL ASM Debug"
...
...
@@ -125,7 +125,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_DLL_ASM_Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# ADD BASE CPP /nologo /
MDd /
W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT CPP /YX
...
...
@@ -136,7 +136,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32
zlib1d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"Win32_DLL_ASM_Debug"
# ADD LINK32
/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "example - Win32 LIB Release"
...
...
@@ -151,7 +151,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_LIB_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# ADD BASE CPP /nologo /
MD /
W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT CPP /YX
...
...
@@ -162,7 +162,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32
zlib.lib /nologo /subsystem:console /machine:I386 /libpath:"Win32_LIB_Release"
# ADD LINK32
/nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "example - Win32 LIB Debug"
...
...
@@ -177,7 +177,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_LIB_Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# ADD BASE CPP /nologo /
MDd /
W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT CPP /YX
...
...
@@ -188,7 +188,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32
zlibd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"Win32_LIB_Debug"
# ADD LINK32
/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "example - Win32 LIB ASM Release"
...
...
@@ -203,7 +203,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_LIB_ASM_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# ADD BASE CPP /nologo /
MD /
W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT CPP /YX
...
...
@@ -214,7 +214,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32
zlib.lib /nologo /subsystem:console /machine:I386 /libpath:"Win32_LIB_ASM_Release"
# ADD LINK32
/nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "example - Win32 LIB ASM Debug"
...
...
@@ -229,7 +229,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_LIB_ASM_Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# ADD BASE CPP /nologo /
MDd /
W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT CPP /YX
...
...
@@ -240,7 +240,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32
zlibd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"Win32_LIB_ASM_Debug"
# ADD LINK32
/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ENDIF
...
...
projects/visualc6/minigzip.dsp
浏览文件 @
9811b53d
...
...
@@ -47,7 +47,7 @@ RSC=rc.exe
# PROP Intermediate_Dir "Win32_DLL_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# ADD BASE CPP /nologo /
MD /
W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT CPP /YX
...
...
@@ -58,7 +58,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32
zlib1.lib /nologo /subsystem:console /machine:I386 /libpath:"Win32_DLL_Release"
# ADD LINK32
/nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "minigzip - Win32 DLL Debug"
...
...
@@ -73,7 +73,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_DLL_Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# ADD BASE CPP /nologo /
MDd /
W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT CPP /YX
...
...
@@ -84,7 +84,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32
zlib1d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"Win32_DLL_Debug"
# ADD LINK32
/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "minigzip - Win32 DLL ASM Release"
...
...
@@ -99,7 +99,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_DLL_ASM_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# ADD BASE CPP /nologo /
MD /
W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT CPP /YX
...
...
@@ -110,7 +110,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32
zlib1.lib /nologo /subsystem:console /machine:I386 /libpath:"Win32_DLL_ASM_Release"
# ADD LINK32
/nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "minigzip - Win32 DLL ASM Debug"
...
...
@@ -125,7 +125,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_DLL_ASM_Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# ADD BASE CPP /nologo /
MDd /
W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT CPP /YX
...
...
@@ -136,7 +136,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32
zlib1d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"Win32_DLL_ASM_Debug"
# ADD LINK32
/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "minigzip - Win32 LIB Release"
...
...
@@ -151,7 +151,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_LIB_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# ADD BASE CPP /nologo /
MD /
W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT CPP /YX
...
...
@@ -162,7 +162,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32
zlib.lib /nologo /subsystem:console /machine:I386 /libpath:"Win32_LIB_Release"
# ADD LINK32
/nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "minigzip - Win32 LIB Debug"
...
...
@@ -177,7 +177,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_LIB_Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# ADD BASE CPP /nologo /
MDd /
W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT CPP /YX
...
...
@@ -188,7 +188,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32
zlibd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"Win32_LIB_Debug"
# ADD LINK32
/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "minigzip - Win32 LIB ASM Release"
...
...
@@ -203,7 +203,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_LIB_ASM_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# ADD BASE CPP /nologo /
MD /
W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT CPP /YX
...
...
@@ -214,7 +214,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32
zlib.lib /nologo /subsystem:console /machine:I386 /libpath:"Win32_LIB_ASM_Release"
# ADD LINK32
/nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "minigzip - Win32 LIB ASM Debug"
...
...
@@ -229,7 +229,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Win32_LIB_ASM_Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# ADD BASE CPP /nologo /
MDd /
W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT CPP /YX
...
...
@@ -240,7 +240,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32
zlibd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"Win32_LIB_ASM_Debug"
# ADD LINK32
/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ENDIF
...
...
projects/visualc6/zlib.dsp
浏览文件 @
9811b53d
...
...
@@ -435,7 +435,7 @@ InputPath=..\..\contrib\masmx86\gvmat32.asm
InputName=gvmat32
"$(IntDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml
/nologo /c /Cx /coff /Zi
/Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
ml
.exe /nologo /c /coff /Cx
/Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
# End Custom Build
...
...
@@ -447,7 +447,7 @@ InputPath=..\..\contrib\masmx86\gvmat32.asm
InputName=gvmat32
"$(IntDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml
/nologo /c /Cx /coff
/Zi /Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
ml
.exe /nologo /c /coff /Cx
/Zi /Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
# End Custom Build
...
...
@@ -467,7 +467,7 @@ InputPath=..\..\contrib\masmx86\gvmat32.asm
InputName=gvmat32
"$(IntDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml
/nologo /c /Cx /coff /Zi
/Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
ml
.exe /nologo /c /coff /Cx
/Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
# End Custom Build
...
...
@@ -479,7 +479,7 @@ InputPath=..\..\contrib\masmx86\gvmat32.asm
InputName=gvmat32
"$(IntDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml
/nologo /c /Cx /coff
/Zi /Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
ml
.exe /nologo /c /coff /Cx
/Zi /Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
# End Custom Build
...
...
@@ -549,7 +549,7 @@ InputPath=..\..\contrib\masmx86\inffas32.asm
InputName=inffas32
"$(IntDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml
/nologo /c /Cx /coff /Zi
/Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
ml
.exe /nologo /c /coff /Cx
/Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
# End Custom Build
...
...
@@ -561,7 +561,7 @@ InputPath=..\..\contrib\masmx86\inffas32.asm
InputName=inffas32
"$(IntDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml
/nologo /c /Cx /coff
/Zi /Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
ml
.exe /nologo /c /coff /Cx
/Zi /Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
# End Custom Build
...
...
@@ -581,7 +581,7 @@ InputPath=..\..\contrib\masmx86\inffas32.asm
InputName=inffas32
"$(IntDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml
/nologo /c /Cx /coff /Zi
/Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
ml
.exe /nologo /c /coff /Cx
/Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
# End Custom Build
...
...
@@ -593,7 +593,7 @@ InputPath=..\..\contrib\masmx86\inffas32.asm
InputName=inffas32
"$(IntDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml
/nologo /c /Cx /coff
/Zi /Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
ml
.exe /nologo /c /coff /Cx
/Zi /Fo"$(IntDir)\$(InputName).obj" "$(InputPath)"
# End Custom Build
...
...
qnx/package.qpg
浏览文件 @
9811b53d
...
...
@@ -25,10 +25,10 @@
<QPG:Files>
<QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
<QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
<QPG:Add file="../libz.so.1.2.2" install="/opt/lib/" user="root:bin" permission="644"/>
<QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.2"/>
<QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.2"/>
<QPG:Add file="../libz.so.1.2.2" install="/opt/lib/" component="slib"/>
<QPG:Add file="../libz.so.1.2.2
.1
" install="/opt/lib/" user="root:bin" permission="644"/>
<QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.2
.1
"/>
<QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.2
.1
"/>
<QPG:Add file="../libz.so.1.2.2
.1
" install="/opt/lib/" component="slib"/>
</QPG:Files>
<QPG:PackageFilter>
...
...
@@ -63,7 +63,7 @@
</QPM:ProductDescription>
<QPM:ReleaseDescription>
<QPM:ReleaseVersion>1.2.2</QPM:ReleaseVersion>
<QPM:ReleaseVersion>1.2.2
.1
</QPM:ReleaseVersion>
<QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
<QPM:ReleaseStability>Stable</QPM:ReleaseStability>
<QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>
...
...
trees.c
浏览文件 @
9811b53d
/* trees.c -- output deflated data using Huffman coding
* Copyright (C) 1995-200
3
Jean-loup Gailly
* Copyright (C) 1995-200
4
Jean-loup Gailly
* For conditions of distribution and use, see copyright notice in zlib.h
*/
...
...
@@ -930,8 +930,25 @@ void _tr_flush_block(s, buf, stored_len, eof)
/* Build the Huffman trees unless a stored block is forced */
if
(
s
->
level
>
0
)
{
/* Check if the file is ascii or binary */
if
(
s
->
strm
->
data_type
==
Z_UNKNOWN
)
set_data_type
(
s
);
/* Check if the file is binary or text */
if
(
stored_len
>
0
&&
s
->
strm
->
data_type
==
Z_UNKNOWN
)
set_data_type
(
s
);
#ifdef DEBUG
/* Write out literal/length frequencies for benchmarking */
if
(
z_verbose
)
{
FILE
*
freq
;
freq
=
fopen
(
"defreq.txt"
,
"a"
);
if
(
freq
!=
NULL
)
{
int
n
;
fputs
(
"ltree:"
,
freq
);
for
(
n
=
0
;
n
<
L_CODES
;
n
++
)
fprintf
(
freq
,
" %d"
,
s
->
dyn_ltree
[
n
].
Freq
);
putc
(
'\n'
,
freq
);
fclose
(
freq
);
}
}
#endif
/* Construct the literal and distance trees */
build_tree
(
s
,
(
tree_desc
*
)(
&
(
s
->
l_desc
)));
...
...
@@ -1117,21 +1134,24 @@ local void compress_block(s, ltree, dtree)
}
/* ===========================================================================
* Set the data type to
ASCII or BINARY
, using a crude approximation:
*
binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise.
*
IN assertion: the fields freq of dyn_ltree are set and the total of all
*
frequencies does not exceed 64K (to fit in an int on 16 bit machines)
.
* Set the data type to
BINARY or TEXT
, using a crude approximation:
*
set it to Z_TEXT if all symbols are either printable characters (33 to 255)
*
or white spaces (9 to 13, or 32); or set it to Z_BINARY otherwise.
*
IN assertion: the fields Freq of dyn_ltree are set
.
*/
local
void
set_data_type
(
s
)
deflate_state
*
s
;
{
int
n
=
0
;
unsigned
ascii_freq
=
0
;
unsigned
bin_freq
=
0
;
while
(
n
<
7
)
bin_freq
+=
s
->
dyn_ltree
[
n
++
].
Freq
;
while
(
n
<
128
)
ascii_freq
+=
s
->
dyn_ltree
[
n
++
].
Freq
;
while
(
n
<
LITERALS
)
bin_freq
+=
s
->
dyn_ltree
[
n
++
].
Freq
;
s
->
strm
->
data_type
=
bin_freq
>
(
ascii_freq
>>
2
)
?
Z_BINARY
:
Z_ASCII
;
int
n
;
for
(
n
=
0
;
n
<
9
;
n
++
)
if
(
s
->
dyn_ltree
[
n
].
Freq
!=
0
)
break
;
if
(
n
==
9
)
for
(
n
=
14
;
n
<
32
;
n
++
)
if
(
s
->
dyn_ltree
[
n
].
Freq
!=
0
)
break
;
s
->
strm
->
data_type
=
(
n
==
32
)
?
Z_TEXT
:
Z_BINARY
;
}
/* ===========================================================================
...
...
win32/DLL_FAQ.txt
浏览文件 @
9811b53d
...
...
@@ -175,7 +175,7 @@ in the zlib distribution, or at the following location:
zlib in other programming languages. Some of them, like Ada
(GNAT) and Fortran (GNU G77), have C bindings implemented
initially on Unix, and relying on the C calling convention.
On the other hand, the pre- .N
et
versions of Microsoft Visual
On the other hand, the pre- .N
ET
versions of Microsoft Visual
Basic require STDCALL, while Borland Delphi prefers, although
it does not require, FASTCALL.
...
...
@@ -203,10 +203,10 @@ in the zlib distribution, or at the following location:
zlib distribution.
8. I need to use zlib in my Microsoft .N
et
project. What can I
8. I need to use zlib in my Microsoft .N
ET
project. What can I
do?
- Henrik Ravn has contributed a .N
et
wrapper around zlib. Look
- Henrik Ravn has contributed a .N
ET
wrapper around zlib. Look
into contrib/dotzlib/, inside the zlib distribution.
...
...
@@ -225,8 +225,8 @@ in the zlib distribution, or at the following location:
depend on it should also be linked to MSVCRT.DLL.
10. Why are you saying that ZLIB1.DLL and my application
must be
linked to the same C run-time (CRT) library? I linked my
10. Why are you saying that ZLIB1.DLL and my application
should
be
linked to the same C run-time (CRT) library? I linked my
application and my DLLs to different C libraries (e.g. my
application to a static library, and my DLLs to MSVCRT.DLL),
and everything works fine.
...
...
@@ -277,12 +277,6 @@ in the zlib distribution, or at the following location:
even run on it. Furthermore, no serious user should run
Windows 95 without a proper update installed.
There is also the fact that the mainstream C compilers for
Windows are Microsoft Visual C++ 6.0, and gcc/MinGW. Both
are producing executables that link to MSVCRT.DLL by default,
without offering other dynamic CRTs as alternatives easy to
select by users.
12. Why are you not linking ZLIB1.DLL to
<<my favorite C run-time library>> ?
...
...
@@ -295,27 +289,60 @@ in the zlib distribution, or at the following location:
to a static C library, you may as well consider linking zlib
in statically, too.
* Linking ZLIB1.DLL to CRTDLL.DLL looks very appealing,
because CRTDLL.DLL is present on every Win32 installation.
Unfortunately, it has a series of problems: it raises
difficulties when using it with C++ code, it does not work
with 64-bit file offsets, (and so on...), and Microsoft
discontinued its support a long time ago.
* Linking ZLIB1.DLL to MSVCR70.DLL, supplied with the
Microsoft .NET platform and Visual C++ 7.0 or newer, is not
a good option. Although it is available for free download
and distribution, its presence is scarce on today's Win32
installations. If it will ever become more popular than
MSVCRT.DLL and will be pre-installed on the future Win32
systems, we will probably think again about it.
* Linking ZLIB1.DLL to NTDLL.DLL is not possible.
NTDLL.DLL exports only a part of the C library, and only on
Windows NT systems.
13. I need to link my own DLL build to a CRT different than
* Linking ZLIB1.DLL to CRTDLL.DLL looks appealing, because
CRTDLL.DLL is present on every Win32 installation.
Unfortunately, it has a series of problems: it does not
work properly with Microsoft's C++ libraries, it does not
provide support for 64-bit file offsets, (and so on...),
and Microsoft discontinued its support a long time ago.
* Linking ZLIB1.DLL to MSVCR70.DLL or MSVCR71.DLL, supplied
with the Microsoft .NET platform, and Visual C++ 7.0/7.1,
raises problems related to the status of ZLIB1.DLL as a
system component. According to the Microsoft Knowledge Base
article KB326922 "INFO: Redistribution of the Shared C
Runtime Component in Visual C++ .NET", MSVCR70.DLL and
MSVCR71.DLL are not supposed to function as system DLLs,
because they may clash with MSVCRT.DLL. Instead, the
application's installer is supposed to put these DLLs
(if needed) in the application's private directory.
If ZLIB1.DLL depends on a non-system runtime, it cannot
function as a redistributable system component.
* Linking ZLIB1.DLL to non-Microsoft runtimes, such as
Borland's, or Cygwin's, raises problems related to the
reliable presence of these runtimes on Win32 systems.
It's easier to let the DLL build of zlib up to the people
who distribute these runtimes, and who may proceed as
explained in the answer to Question 14.
13. If ZLIB1.DLL cannot be linked to MSVCR70.DLL or MSVCR71.DLL,
how can I build/use ZLIB1.DLL in Microsoft Visual C++ 7.0
(Visual Studio .NET) or newer?
- Due to the problems explained in the Microsoft Knowledge Base
article KB326922 (see the previous answer), the C runtime that
comes with the VC7 environment is no longer considered a
system component. That is, it should not be assumed that this
runtime exists, or may be installed in a system directory.
Since ZLIB1.DLL is supposed to be a system component, it may
not depend on a non-system component.
In order to link ZLIB1.DLL and your application to MSVCRT.DLL
in VC7, you need the library of Visual C++ 6.0 or older. If
you don't have this library at hand, it's probably best not to
use ZLIB1.DLL.
We are hoping that, in the future, Microsoft will provide a
way to build applications linked to a proper system runtime,
from the Visual C++ environment. Until then, you have a
couple of alternatives, such as linking zlib in statically.
If your application requires dynamic linking, you may proceed
as explained in the answer to Question 14.
14. I need to link my own DLL build to a CRT different than
MSVCRT.DLL. What can I do?
- Feel free to rebuild the DLL from the zlib sources, and link
...
...
@@ -331,7 +358,7 @@ in the zlib distribution, or at the following location:
CYGWIN1.DLL, and it is distributed under the name CYGZ.DLL.
1
4
. May I include additional pieces of code that I find useful,
1
5
. May I include additional pieces of code that I find useful,
link them in ZLIB1.DLL, and export them?
- No. A legitimate build of ZLIB1.DLL must not include code
...
...
@@ -344,7 +371,7 @@ in the zlib distribution, or at the following location:
is a redistributable file, named VCLxx.DLL.
1
5
. May I remove some functionality out of ZLIB1.DLL, by enabling
1
6
. May I remove some functionality out of ZLIB1.DLL, by enabling
macros like NO_GZCOMPRESS or NO_GZIP at compile time?
- No. A legitimate build of ZLIB1.DLL must provide the complete
...
...
@@ -353,7 +380,7 @@ in the zlib distribution, or at the following location:
different file name, as suggested in the previous answer.
1
6
. I made my own ZLIB1.DLL build. Can I test it for compliance?
1
7
. I made my own ZLIB1.DLL build. Can I test it for compliance?
- We prefer that you download the official DLL from the zlib
web site. If you need something peculiar from this DLL, you
...
...
win32/zlib1.rc
浏览文件 @
9811b53d
...
...
@@ -5,8 +5,8 @@ VS_VERSION_INFO VERSIONINFO
#else
VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
#endif
FILEVERSION 1,2,2
PRODUCTVERSION 1,2,2
FILEVERSION 1,2,2
,1
PRODUCTVERSION 1,2,2
,1
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS 1
...
...
@@ -23,12 +23,12 @@ BEGIN
//language ID = U.S. English, char set = Windows, Multilingual
BEGIN
VALUE "FileDescription", "zlib data compression library\0"
VALUE "FileVersion", "1.2.2\0"
VALUE "FileVersion", "1.2.2
.1
\0"
VALUE "InternalName", "zlib1.dll\0"
VALUE "LegalCopyright", "(C) 1995-2004 Jean-loup Gailly & Mark Adler\0"
VALUE "OriginalFilename", "zlib1.dll\0"
VALUE "ProductName", "zlib\0"
VALUE "ProductVersion", "1.2.2\0"
VALUE "ProductVersion", "1.2.2
.1
\0"
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
END
END
...
...
zconf.h
浏览文件 @
9811b53d
...
...
@@ -43,6 +43,10 @@
# define get_crc_table z_get_crc_table
# define zError z_zError
# define alloc_func z_alloc_func
# define free_func z_free_func
# define in_func z_in_func
# define out_func z_out_func
# define Byte z_Byte
# define uInt z_uInt
# define uLong z_uLong
...
...
zconf.in.h
浏览文件 @
9811b53d
...
...
@@ -43,6 +43,10 @@
# define get_crc_table z_get_crc_table
# define zError z_zError
# define alloc_func z_alloc_func
# define free_func z_free_func
# define in_func z_in_func
# define out_func z_out_func
# define Byte z_Byte
# define uInt z_uInt
# define uLong z_uLong
...
...
zlib.3
浏览文件 @
9811b53d
.TH ZLIB 3 "3 October 2004"
.TH ZLIB 3 "3
1
October 2004"
.SH NAME
zlib \- compression/decompression library
.SH SYNOPSIS
...
...
@@ -133,7 +133,7 @@ before asking for help.
Send questions and/or comments to zlib@gzip.org,
or (for the Windows DLL version) to Gilles Vollant (info@winimage.com).
.SH AUTHORS
Version 1.2.2
Version 1.2.2
.1
Copyright (C) 1995-2004 Jean-loup Gailly (jloup@gzip.org)
and Mark Adler (madler@alumni.caltech.edu).
.LP
...
...
zlib.h
浏览文件 @
9811b53d
/* zlib.h -- interface of the 'zlib' general purpose compression library
version 1.2.2
, October 3rd
, 2004
version 1.2.2
.1, October 31st
, 2004
Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler
...
...
@@ -37,8 +37,8 @@
extern
"C"
{
#endif
#define ZLIB_VERSION "1.2.2"
#define ZLIB_VERNUM 0x122
0
#define ZLIB_VERSION "1.2.2
.1
"
#define ZLIB_VERNUM 0x122
1
/*
The 'zlib' compression library provides in-memory compression and
...
...
@@ -95,13 +95,36 @@ typedef struct z_stream_s {
free_func
zfree
;
/* used to free the internal state */
voidpf
opaque
;
/* private data object passed to zalloc and zfree */
int
data_type
;
/* best guess about the data type:
ascii or binary
*/
int
data_type
;
/* best guess about the data type:
binary or text
*/
uLong
adler
;
/* adler32 value of the uncompressed data */
uLong
reserved
;
/* reserved for future use */
}
z_stream
;
typedef
z_stream
FAR
*
z_streamp
;
/*
gzip header information passed to and from zlib routines. See RFC 1952
for more details on the meanings of these fields.
*/
typedef
struct
gz_header_s
{
int
text
;
/* true if compressed data believed to be text */
uLong
time
;
/* modification time */
int
xflags
;
/* extra flags (not used when writing a gzip file) */
int
os
;
/* operating system */
Bytef
*
extra
;
/* pointer to extra field or Z_NULL if none */
uInt
extra_len
;
/* extra field length (valid if extra != Z_NULL) */
uInt
extra_max
;
/* space at extra (only when reading header) */
Bytef
*
name
;
/* pointer to zero-terminated file name or Z_NULL */
uInt
name_max
;
/* space at name (only when reading header) */
Bytef
*
comment
;
/* pointer to zero-terminated comment or Z_NULL */
uInt
comm_max
;
/* space at comment (only when reading header) */
int
hcrc
;
/* true if there was or will be a header crc */
int
done
;
/* true when done reading gzip header (not used
when writing a gzip file) */
}
gz_header
;
typedef
gz_header
FAR
*
gz_headerp
;
/*
The application must update next_in and avail_in when avail_in has
dropped to zero. It must update next_out and avail_out when avail_out
...
...
@@ -170,7 +193,8 @@ typedef z_stream FAR *z_streamp;
/* compression strategy; see deflateInit2() below for details */
#define Z_BINARY 0
#define Z_ASCII 1
#define Z_TEXT 1
#define Z_ASCII Z_TEXT
/* for compatibility with 1.2.2 and earlier */
#define Z_UNKNOWN 2
/* Possible values of the data_type field (though see inflate()) */
...
...
@@ -244,6 +268,10 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
and with zero avail_out, it must be called again after making room in the
output buffer because there might be more output pending.
Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
decide how much data to accumualte before producing output, in order to
maximize compression.
If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
flushed to the output buffer and the output is aligned on a byte boundary, so
that the decompressor can get all input data available so far. (In particular
...
...
@@ -255,7 +283,7 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
Z_SYNC_FLUSH, and the compression state is reset so that decompression can
restart from this point if previous compressed data has been damaged or if
random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
the
compression.
compression.
If deflate returns with avail_out == 0, this function must be called again
with the same value of the flush parameter and more output space (updated
...
...
@@ -280,8 +308,8 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
deflate() sets strm->adler to the adler32 checksum of all input read
so far (that is, total_in bytes).
deflate() may update data_type if it can make a good guess about
the input data type (Z_
ASCII or Z_BINARY
). In doubt, the data is considered
deflate() may update
strm->
data_type if it can make a good guess about
the input data type (Z_
BINARY or Z_TEXT
). In doubt, the data is considered
binary. This field is only for information purposes and does not affect
the compression algorithm in any manner.
...
...
@@ -616,6 +644,30 @@ ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
stream state was inconsistent.
*/
ZEXTERN
int
ZEXPORT
deflateSetHeader
OF
((
z_streamp
strm
,
gz_headerp
head
));
/*
deflateSetHeader() provides gzip header information for when a gzip
stream is requested by deflateInit2(). deflateSetHeader() may be called
after deflateInit2() or deflateReset() and before the first call of
deflate(). The text, time, os, extra field, name, and comment information
in the provided gz_header structure are written to the gzip header (xflag is
ignored -- the extra flags are set according to the compression level). The
caller must assure that, if not Z_NULL, name and comment are terminated with
a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
available there. If hcrc is true, a gzip header crc is included. Note that
the current versions of the command-line version of gzip (up through version
1.3.x) do not support header crc's, and will report that it is a "multi-part
gzip file" and give up.
If deflateSetHeader is not used, the default gzip header has text false,
the time set to zero, and os set to 255, with no extra, name, or comment
fields. The gzip header is returned to the default state by deflateReset().
deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
stream state was inconsistent.
*/
/*
ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
int windowBits));
...
...
@@ -664,11 +716,14 @@ ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
uInt
dictLength
));
/*
Initializes the decompression dictionary from the given uncompressed byte
sequence. This function must be called immediately after a call of inflate
if this call returned Z_NEED_DICT. The dictionary chosen by the compressor
can be determined from the adler32 value returned by this call of
inflate. The compressor and decompressor must use exactly the same
dictionary (see deflateSetDictionary).
sequence. This function must be called immediately after a call of inflate,
if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
can be determined from the adler32 value returned by that call of inflate.
The compressor and decompressor must use exactly the same dictionary (see
deflateSetDictionary). For raw inflate, this function can be called
immediately after inflateInit2() or inflateReset() and before any call of
inflate() to set the dictionary. The application must insure that the
dictionary that was used for compression is provided.
inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
parameter is invalid (such as NULL dictionary) or the stream state is
...
...
@@ -719,8 +774,48 @@ ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
stream state was inconsistent (such as zalloc or state being NULL).
*/
ZEXTERN
int
ZEXPORT
inflateGetHeader
OF
((
z_streamp
strm
,
gz_headerp
head
));
/*
inflateGetHeader() requests that gzip header information be stored in the
provided gz_header structure. inflateGetHeader() may be called after
inflateInit2() or inflateReset(), and before the first call of inflate().
As inflate() processes the gzip stream, head->done is zero until the header
is completed, at which time head->done is set to one. If a zlib stream is
being decoded, then head->done is set to -1 to indicate that there will be
no gzip header information forthcoming. Note that Z_BLOCK can be used to
force inflate() to return immediately after header processing is complete
and before any actual data is decompressed.
The text, time, xflags, and os fields are filled in with the gzip header
contents. hcrc is set to true if there is a header CRC. (The header CRC
was valid if done is set to one.) If extra is not Z_NULL, then extra_max
contains the maximum number of bytes to write to extra. Once done is true,
extra_len contains the actual extra field length, and extra contains the
extra field, or that field truncated if extra_max is less than extra_len.
If name is not Z_NULL, then up to name_max characters are written there,
terminated with a zero unless the length is greater than name_max. If
comment is not Z_NULL, then up to comm_max characters are written there,
terminated with a zero unless the length is greater than comm_max. When
any of extra, name, or comment are not Z_NULL and the respective field is
not present in the header, then that field is set to Z_NULL to signal its
absence. This allows the use of deflateSetHeader() with the returned
structure to duplicate the header. However if those fields are set to
allocated memory, then the application will need to save those pointers
elsewhere so that they can be eventually freed.
If inflateGetHeader is not used, then the header information is simply
discarded. The header is always checked for validity, including the header
CRC if present. inflateReset() will reset the process to discard the header
information. The application would need to call inflateGetHeader() again to
retrieve the header from the next gzip stream.
inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
stream state was inconsistent.
*/
/*
ZEXTERN int ZEXPORT inflateBackInit OF((z_stream
FAR *
strm, int windowBits,
ZEXTERN int ZEXPORT inflateBackInit OF((z_stream
p
strm, int windowBits,
unsigned char FAR *window));
Initialize the internal stream state for decompression using inflateBack()
...
...
@@ -744,7 +839,7 @@ ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits,
typedef
unsigned
(
*
in_func
)
OF
((
void
FAR
*
,
unsigned
char
FAR
*
FAR
*
));
typedef
int
(
*
out_func
)
OF
((
void
FAR
*
,
unsigned
char
FAR
*
,
unsigned
));
ZEXTERN
int
ZEXPORT
inflateBack
OF
((
z_stream
FAR
*
strm
,
ZEXTERN
int
ZEXPORT
inflateBack
OF
((
z_stream
p
strm
,
in_func
in
,
void
FAR
*
in_desc
,
out_func
out
,
void
FAR
*
out_desc
));
/*
...
...
@@ -813,7 +908,7 @@ ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm,
that inflateBack() cannot return Z_OK.
*/
ZEXTERN
int
ZEXPORT
inflateBackEnd
OF
((
z_stream
FAR
*
strm
));
ZEXTERN
int
ZEXPORT
inflateBackEnd
OF
((
z_stream
p
strm
));
/*
All memory allocated by inflateBackInit() is freed.
...
...
@@ -1119,7 +1214,6 @@ ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
*/
ZEXTERN
uLong
ZEXPORT
adler32
OF
((
uLong
adler
,
const
Bytef
*
buf
,
uInt
len
));
/*
Update a running Adler-32 checksum with the bytes buf[0..len-1] and
return the updated checksum. If buf is NULL, this function returns
...
...
@@ -1135,12 +1229,21 @@ ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
if (adler != original_adler) error();
*/
ZEXTERN
uLong
ZEXPORT
adler32_combine
OF
((
uLong
adler1
,
uLong
adler2
,
uLong
len2
));
/*
Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
seq1 and seq2 concatenated, requiring only adler1, adler2, and len2.
*/
ZEXTERN
uLong
ZEXPORT
crc32
OF
((
uLong
crc
,
const
Bytef
*
buf
,
uInt
len
));
/*
Update a running
crc with the bytes buf[0..len-1] and return the updated
crc. If buf is NULL, this function returns the required initial value
for the crc. Pre- and post-conditioning (one's complement) is performed
within this function so it shouldn't be done by the application.
Update a running
CRC-32 with the bytes buf[0..len-1] and return the
updated CRC-32. If buf is NULL, this function returns the required initial
value for the for the crc. Pre- and post-conditioning (one's complement) is
performed
within this function so it shouldn't be done by the application.
Usage example:
uLong crc = crc32(0L, Z_NULL, 0);
...
...
@@ -1151,6 +1254,16 @@ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
if (crc != original_crc) error();
*/
ZEXTERN
uLong
ZEXPORT
crc32_combine
OF
((
uLong
crc1
,
uLong
crc2
,
uLong
len2
));
/*
Combine two CRC-32 check values into one. For two sequences of bytes,
seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
len2.
*/
/* various hacks, don't look :) */
...
...
@@ -1167,7 +1280,7 @@ ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
int
stream_size
));
ZEXTERN
int
ZEXPORT
inflateInit2_
OF
((
z_streamp
strm
,
int
windowBits
,
const
char
*
version
,
int
stream_size
));
ZEXTERN
int
ZEXPORT
inflateBackInit_
OF
((
z_stream
FAR
*
strm
,
int
windowBits
,
ZEXTERN
int
ZEXPORT
inflateBackInit_
OF
((
z_stream
p
strm
,
int
windowBits
,
unsigned
char
FAR
*
window
,
const
char
*
version
,
int
stream_size
));
...
...
zutil.c
浏览文件 @
9811b53d
/* zutil.c -- target dependent utility functions for the compression library
* Copyright (C) 1995-200
3
Jean-loup Gailly.
* Copyright (C) 1995-200
4
Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
...
...
@@ -11,10 +11,6 @@
struct
internal_state
{
int
dummy
;};
/* for buggy compilers */
#endif
#ifndef STDC
extern
void
exit
OF
((
int
));
#endif
const
char
*
const
z_errmsg
[
10
]
=
{
"need dictionary"
,
/* Z_NEED_DICT 2 */
"stream end"
,
/* Z_STREAM_END 1 */
...
...
zutil.h
浏览文件 @
9811b53d
/* zutil.h -- internal interface and configuration of the compression library
* Copyright (C) 1995-200
3
Jean-loup Gailly.
* Copyright (C) 1995-200
4
Jean-loup Gailly.
* 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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录