Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c71d8b13b |
10
ChangeLog
10
ChangeLog
@@ -1,5 +1,14 @@
|
|||||||
ChangeLog file for zlib
|
ChangeLog file for zlib
|
||||||
|
|
||||||
|
Changes in 0.91 (2 May 95)
|
||||||
|
- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h
|
||||||
|
- Document the memory requirements in zconf.h
|
||||||
|
- added "make install"
|
||||||
|
- fix sync search logic in inflateSync
|
||||||
|
- deflate(Z_FULL_FLUSH) now works even if output buffer too short
|
||||||
|
- after inflateSync, don't scare people with just "lo world"
|
||||||
|
- added support for DJGPP
|
||||||
|
|
||||||
Changes in 0.9 (1 May 95)
|
Changes in 0.9 (1 May 95)
|
||||||
- don't assume that zalloc clears the allocated memory (the TurboC bug
|
- don't assume that zalloc clears the allocated memory (the TurboC bug
|
||||||
was Mark's bug after all :)
|
was Mark's bug after all :)
|
||||||
@@ -10,6 +19,7 @@ Changes in 0.9 (1 May 95)
|
|||||||
- document explicitly that zalloc(64K) on MSDOS must return a normalized
|
- document explicitly that zalloc(64K) on MSDOS must return a normalized
|
||||||
pointer (zero offset)
|
pointer (zero offset)
|
||||||
- added Makefiles for Microsoft C, Turbo C, Borland C++
|
- added Makefiles for Microsoft C, Turbo C, Borland C++
|
||||||
|
- faster crc32()
|
||||||
|
|
||||||
Changes in 0.8 (29 April 95)
|
Changes in 0.8 (29 April 95)
|
||||||
- added fast inflate (inffast.c)
|
- added fast inflate (inffast.c)
|
||||||
|
|||||||
15
Makefile
15
Makefile
@@ -1,10 +1,17 @@
|
|||||||
|
# Makefile for zlib
|
||||||
|
# Copyright (C) 1995 Jean-loup Gailly.
|
||||||
|
# For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
|
|
||||||
CC=cc
|
CC=cc
|
||||||
CFLAGS=-O
|
CFLAGS=-O
|
||||||
|
#CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
|
||||||
#CFLAGS=-g -DDEBUG
|
#CFLAGS=-g -DDEBUG
|
||||||
LDFLAGS=-L. -lgz
|
LDFLAGS=-L. -lgz
|
||||||
|
|
||||||
RANLIB=ranlib
|
RANLIB=ranlib
|
||||||
|
|
||||||
|
prefix=/usr/local
|
||||||
|
|
||||||
OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
|
OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
|
||||||
zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
|
zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
|
||||||
|
|
||||||
@@ -16,6 +23,14 @@ test: all
|
|||||||
./example
|
./example
|
||||||
echo hello world | ./minigzip | ./minigzip -d
|
echo hello world | ./minigzip | ./minigzip -d
|
||||||
|
|
||||||
|
install: libgz.a
|
||||||
|
-@mkdir $(prefix)/include
|
||||||
|
-@mkdir $(prefix)/lib
|
||||||
|
cp zlib.h zconf.h $(prefix)/include
|
||||||
|
chmod 644 $(prefix)/include/zlib.h $(prefix)/include/zconf.h
|
||||||
|
cp libgz.a $(prefix)/lib
|
||||||
|
chmod 644 $(prefix)/lib/libgz.a
|
||||||
|
|
||||||
libgz.a: $(OBJS)
|
libgz.a: $(OBJS)
|
||||||
ar rc $@ $(OBJS)
|
ar rc $@ $(OBJS)
|
||||||
$(RANLIB) $@
|
$(RANLIB) $@
|
||||||
|
|||||||
59
Makefile.bak
59
Makefile.bak
@@ -1,59 +0,0 @@
|
|||||||
CC=gcc
|
|
||||||
CFLAGS=-O2
|
|
||||||
#CFLAGS=-g -DDEBUG
|
|
||||||
LDFLAGS=-L. -lgz
|
|
||||||
|
|
||||||
RANLIB=ranlib
|
|
||||||
|
|
||||||
OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
|
|
||||||
zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
|
|
||||||
|
|
||||||
TEST_OBJS = example.o minigzip.o inftest.o
|
|
||||||
|
|
||||||
all: example minigzip inftest
|
|
||||||
|
|
||||||
test: all
|
|
||||||
./example
|
|
||||||
echo hello world | ./minigzip | ./minigzip -d
|
|
||||||
|
|
||||||
libgz.a: $(OBJS)
|
|
||||||
ar rc $@ $(OBJS)
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
example: example.o libgz.a
|
|
||||||
$(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS)
|
|
||||||
|
|
||||||
minigzip: minigzip.o libgz.a
|
|
||||||
$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
|
|
||||||
|
|
||||||
inftest: inftest.o libgz.a
|
|
||||||
$(CC) $(CFLAGS) -o $@ inftest.o $(LDFLAGS)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o example minigzip inftest libgz.a foo.gz
|
|
||||||
|
|
||||||
zip:
|
|
||||||
zip -ul9 zlib README ChangeLog Makefile *.[ch]
|
|
||||||
|
|
||||||
tgz:
|
|
||||||
cd ..; tar cfz zlib/zlib.tgz zlib/README zlib/ChangeLog zlib/Makefile \
|
|
||||||
zlib/*.[ch]
|
|
||||||
|
|
||||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
|
||||||
|
|
||||||
adler32.o: zutil.h zlib.h zconf.h
|
|
||||||
compress.o: zlib.h zconf.h
|
|
||||||
crc32.o: zutil.h zlib.h zconf.h
|
|
||||||
deflate.o: deflate.h zutil.h zlib.h zconf.h
|
|
||||||
example.o: zlib.h zconf.h
|
|
||||||
gzio.o: zutil.h zlib.h zconf.h
|
|
||||||
infblock.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
|
|
||||||
infcodes.o: zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h
|
|
||||||
inflate.o: zutil.h zlib.h zconf.h infblock.h
|
|
||||||
inftest.o: zutil.h zlib.h zconf.h
|
|
||||||
inftrees.o: zutil.h zlib.h zconf.h inftrees.h
|
|
||||||
infutil.o: zutil.h zlib.h zconf.h inftrees.h infutil.h
|
|
||||||
minigzip.o: zlib.h zconf.h
|
|
||||||
trees.o: deflate.h zutil.h zlib.h zconf.h
|
|
||||||
uncompr.o: zlib.h zconf.h
|
|
||||||
zutil.o: zutil.h zlib.h zconf.h
|
|
||||||
@@ -4,7 +4,10 @@
|
|||||||
# To use, do "make -fmakefile.bor"
|
# To use, do "make -fmakefile.bor"
|
||||||
|
|
||||||
# WARNING: the small model is supported but only for small values of
|
# WARNING: the small model is supported but only for small values of
|
||||||
# MAX_WBITS and MAX_MEM_LEVEL
|
# MAX_WBITS and MAX_MEM_LEVEL. If you wish to reduce the memory
|
||||||
|
# requirements (default 256K for big objects plus a few K), you can add
|
||||||
|
# to CFLAGS below: -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
|
||||||
|
# See zconf.h for details about the memory requirements.
|
||||||
|
|
||||||
# ------------- Turbo C++, Borland C++ -------------
|
# ------------- Turbo C++, Borland C++ -------------
|
||||||
MODEL=-ml
|
MODEL=-ml
|
||||||
|
|||||||
@@ -4,7 +4,10 @@
|
|||||||
# To use, do "make makefile.msc"
|
# To use, do "make makefile.msc"
|
||||||
|
|
||||||
# WARNING: the small model is supported but only for small values of
|
# WARNING: the small model is supported but only for small values of
|
||||||
# MAX_WBITS and MAX_MEM_LEVEL
|
# MAX_WBITS and MAX_MEM_LEVEL. If you wish to reduce the memory
|
||||||
|
# requirements (default 256K for big objects plus a few K), you can add
|
||||||
|
# to CFLAGS below: -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
|
||||||
|
# See zconf.h for details about the memory requirements.
|
||||||
|
|
||||||
# ------------- Microsoft C 5.1 and later -------------
|
# ------------- Microsoft C 5.1 and later -------------
|
||||||
MODEL=-AL
|
MODEL=-AL
|
||||||
|
|||||||
@@ -4,7 +4,10 @@
|
|||||||
# To use, do "make -fmakefile.tc"
|
# To use, do "make -fmakefile.tc"
|
||||||
|
|
||||||
# WARNING: the small model is supported but only for small values of
|
# WARNING: the small model is supported but only for small values of
|
||||||
# MAX_WBITS and MAX_MEM_LEVEL
|
# MAX_WBITS and MAX_MEM_LEVEL. If you wish to reduce the memory
|
||||||
|
# requirements (default 256K for big objects plus a few K), you can add
|
||||||
|
# to CFLAGS below: -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
|
||||||
|
# See zconf.h for details about the memory requirements.
|
||||||
|
|
||||||
# ------------- Turbo C 2.0 -------------
|
# ------------- Turbo C 2.0 -------------
|
||||||
MODEL=-ml
|
MODEL=-ml
|
||||||
|
|||||||
30
README
30
README
@@ -1,25 +1,31 @@
|
|||||||
zlib 0.9 is a beta version of a general purpose compression library.
|
zlib 0.91 is a beta version of a general purpose compression library.
|
||||||
|
|
||||||
The data format used by the zlib library is described in the
|
The data format used by the zlib library is described in the
|
||||||
file zlib-3.1.doc, deflate-1.1.doc and gzip-4.1.doc, available
|
files zlib-3.1.doc, deflate-1.1.doc and gzip-4.1.doc, available
|
||||||
in ftp.uu.net:/pub/archiving/zip/doc.
|
in ftp.uu.net:/pub/archiving/zip/doc.
|
||||||
|
|
||||||
All functions of the compression library are documented in the file
|
All functions of the compression library are documented in the file
|
||||||
zlib.h. A usage example of the library is given in the file example.c
|
zlib.h. A usage example of the library is given in the file example.c
|
||||||
which also tests that the library is working correctly.
|
which also tests that the library is working correctly.
|
||||||
To compile all files and run the test program, just type: make test
|
|
||||||
|
|
||||||
The changes made in version 0.9 are documented in the file ChangeLog.
|
To compile all files and run the test program, just type: make test
|
||||||
The main changes since 0.8 are:
|
(For MSDOS, use one of the special makefiles such as Makefile.msc.)
|
||||||
- don't assume that zalloc clears the allocated memory
|
To install the zlib library (libgz.a) in /usr/local/lib, type: make install
|
||||||
- let again gzread copy uncompressed data unchanged (was working in 0.71)
|
To install in a different directory, use for example: make install prefix=$HOME
|
||||||
- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented
|
This will install in $HOME/lib instead of /usr/local/lib.
|
||||||
|
|
||||||
|
The changes made in version 0.91 are documented in the file ChangeLog.
|
||||||
|
The main changes since 0.9 are:
|
||||||
|
- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h
|
||||||
|
- Document the memory requirements in zconf.h
|
||||||
|
- added "make install"
|
||||||
|
- added support for DJGPP
|
||||||
|
|
||||||
On MSDOS, this version works in both large and small model. However
|
On MSDOS, this version works in both large and small model. However
|
||||||
small model compression works only for small values of MEM_LEVEL and
|
small model compression works only for small values of MAX_MEM_LEVEL
|
||||||
WBITS (see zutil.h). Small model decompression should work up to WBITS=15.
|
and MAX_WBITS (see zconf.h). Small model decompression should work up
|
||||||
This version of zlib does not support small or medium model with far
|
to MAX_WBITS=15. This version of zlib does not support small or
|
||||||
allocation of big objects.
|
medium model with far allocation of big objects.
|
||||||
|
|
||||||
|
|
||||||
Copyright (C) 1995 Jean-loup Gailly and Mark Adler
|
Copyright (C) 1995 Jean-loup Gailly and Mark Adler
|
||||||
|
|||||||
11
deflate.c
11
deflate.c
@@ -47,7 +47,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: deflate.c,v 1.6 1995/05/01 17:23:57 jloup Exp $ */
|
/* $Id: deflate.c,v 1.7 1995/05/02 13:28:18 jloup Exp $ */
|
||||||
|
|
||||||
#include "deflate.h"
|
#include "deflate.h"
|
||||||
|
|
||||||
@@ -165,7 +165,7 @@ int deflateInit (strm, level)
|
|||||||
z_stream *strm;
|
z_stream *strm;
|
||||||
int level;
|
int level;
|
||||||
{
|
{
|
||||||
return deflateInit2 (strm, level, DEFLATED, MAX_WBITS, MAX_MEM_LEVEL, 0);
|
return deflateInit2 (strm, level, DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, 0);
|
||||||
/* To do: ignore strm->next_in if we use it as window */
|
/* To do: ignore strm->next_in if we use it as window */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -344,22 +344,23 @@ int deflate (strm, flush)
|
|||||||
*/
|
*/
|
||||||
if (strm->avail_in != 0 ||
|
if (strm->avail_in != 0 ||
|
||||||
(flush == Z_FINISH && strm->state->status != FINISH_STATE)) {
|
(flush == Z_FINISH && strm->state->status != FINISH_STATE)) {
|
||||||
|
int quit;
|
||||||
|
|
||||||
if (flush == Z_FINISH) {
|
if (flush == Z_FINISH) {
|
||||||
strm->state->status = FINISH_STATE;
|
strm->state->status = FINISH_STATE;
|
||||||
}
|
}
|
||||||
if (strm->state->level <= 3) {
|
if (strm->state->level <= 3) {
|
||||||
if (deflate_fast(strm->state, flush)) return Z_OK;
|
quit = deflate_fast(strm->state, flush);
|
||||||
} else {
|
} else {
|
||||||
if (deflate_slow(strm->state, flush)) return Z_OK;
|
quit = deflate_slow(strm->state, flush);
|
||||||
}
|
}
|
||||||
/* ??? remember Z_FULL_FLUSH if we didn't have enough space */
|
|
||||||
if (flush == Z_FULL_FLUSH) {
|
if (flush == Z_FULL_FLUSH) {
|
||||||
ct_stored_block(strm->state, (char*)0, 0L, 0); /* special marker */
|
ct_stored_block(strm->state, (char*)0, 0L, 0); /* special marker */
|
||||||
flush_pending(strm);
|
flush_pending(strm);
|
||||||
CLEAR_HASH(strm->state); /* forget history */
|
CLEAR_HASH(strm->state); /* forget history */
|
||||||
if (strm->avail_out == 0) return Z_OK;
|
if (strm->avail_out == 0) return Z_OK;
|
||||||
}
|
}
|
||||||
|
if (quit) return Z_OK;
|
||||||
}
|
}
|
||||||
Assert(strm->avail_out > 0, "bug2");
|
Assert(strm->avail_out > 0, "bug2");
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: example.c,v 1.7 1995/05/01 16:57:22 jloup Exp $ */
|
/* $Id: example.c,v 1.8 1995/05/02 15:52:32 jloup Exp $ */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "zlib.h"
|
#include "zlib.h"
|
||||||
@@ -12,7 +12,9 @@
|
|||||||
# include <string.h>
|
# include <string.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __GO32__
|
||||||
extern void exit __P((int));
|
extern void exit __P((int));
|
||||||
|
#endif
|
||||||
|
|
||||||
#define BUFLEN 4096
|
#define BUFLEN 4096
|
||||||
|
|
||||||
@@ -253,7 +255,7 @@ void test_sync(compr)
|
|||||||
err = inflateEnd(&d_stream);
|
err = inflateEnd(&d_stream);
|
||||||
CHECK_ERR(err, "inflateEnd");
|
CHECK_ERR(err, "inflateEnd");
|
||||||
|
|
||||||
printf("after inflateSync(): %s\n", uncompr);
|
printf("after inflateSync(): hel%s\n", uncompr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ===========================================================================
|
/* ===========================================================================
|
||||||
|
|||||||
6
gzio.c
6
gzio.c
@@ -3,7 +3,7 @@
|
|||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: gzio.c,v 1.6 1995/04/30 19:52:21 jloup Exp $ */
|
/* $Id: gzio.c,v 1.7 1995/05/02 12:22:08 jloup Exp $ */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
@@ -128,7 +128,7 @@ local gzFile gz_open (path, mode, fd)
|
|||||||
|
|
||||||
if (s->mode == 'w') {
|
if (s->mode == 'w') {
|
||||||
err = deflateInit2(&(s->stream), Z_DEFAULT_COMPRESSION,
|
err = deflateInit2(&(s->stream), Z_DEFAULT_COMPRESSION,
|
||||||
DEFLATED, -MAX_WBITS, MAX_MEM_LEVEL, 0);
|
DEFLATED, -MAX_WBITS, DEF_MEM_LEVEL, 0);
|
||||||
/* windowBits is passed < 0 to suppress zlib header */
|
/* windowBits is passed < 0 to suppress zlib header */
|
||||||
|
|
||||||
s->stream.next_out = s->outbuf = ALLOC(Z_BUFSIZE);
|
s->stream.next_out = s->outbuf = ALLOC(Z_BUFSIZE);
|
||||||
@@ -221,7 +221,7 @@ gzFile gzdopen (fd, mode)
|
|||||||
char *mode;
|
char *mode;
|
||||||
{
|
{
|
||||||
char name[20];
|
char name[20];
|
||||||
sprintf(name, "_fd:%d_", fd); /* for debugging */
|
sprintf(name, "<fd:%d>", fd); /* for debugging */
|
||||||
|
|
||||||
return gz_open (name, mode, fd);
|
return gz_open (name, mode, fd);
|
||||||
}
|
}
|
||||||
|
|||||||
11
inflate.c
11
inflate.c
@@ -145,7 +145,7 @@ int f;
|
|||||||
{
|
{
|
||||||
case METHOD:
|
case METHOD:
|
||||||
NEEDBYTE
|
NEEDBYTE
|
||||||
if (((z->state->sub.method = NEXTBYTE) & 0xf != DEFLATED))
|
if (((z->state->sub.method = NEXTBYTE) & 0xf) != DEFLATED)
|
||||||
{
|
{
|
||||||
z->state->mode = BAD;
|
z->state->mode = BAD;
|
||||||
z->msg = "unknown compression method";
|
z->msg = "unknown compression method";
|
||||||
@@ -243,7 +243,10 @@ z_stream *z;
|
|||||||
if (z == Z_NULL || z->state == Z_NULL)
|
if (z == Z_NULL || z->state == Z_NULL)
|
||||||
return Z_STREAM_ERROR;
|
return Z_STREAM_ERROR;
|
||||||
if (z->state->mode != BAD)
|
if (z->state->mode != BAD)
|
||||||
|
{
|
||||||
|
z->state->mode = BAD;
|
||||||
z->state->sub.marker = 0;
|
z->state->sub.marker = 0;
|
||||||
|
}
|
||||||
if ((n = z->avail_in) == 0)
|
if ((n = z->avail_in) == 0)
|
||||||
return Z_BUF_ERROR;
|
return Z_BUF_ERROR;
|
||||||
p = z->next_in;
|
p = z->next_in;
|
||||||
@@ -252,10 +255,12 @@ z_stream *z;
|
|||||||
/* search */
|
/* search */
|
||||||
while (n && m < 4)
|
while (n && m < 4)
|
||||||
{
|
{
|
||||||
if (*p == (m < 2 ? 0 : 0xff))
|
if (*p == (Byte)(m < 2 ? 0 : 0xff))
|
||||||
m++;
|
m++;
|
||||||
else if (*p || m > 2)
|
else if (*p)
|
||||||
m = 0;
|
m = 0;
|
||||||
|
else
|
||||||
|
m = 4 - m;
|
||||||
p++, n--;
|
p++, n--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,12 +13,14 @@
|
|||||||
* or in pipe mode.
|
* or in pipe mode.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: minigzip.c,v 1.3 1995/04/29 14:27:21 jloup Exp $ */
|
/* $Id: minigzip.c,v 1.4 1995/05/02 15:54:22 jloup Exp $ */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "zlib.h"
|
#include "zlib.h"
|
||||||
|
|
||||||
|
#ifndef __GO32__
|
||||||
extern void exit __P((int));
|
extern void exit __P((int));
|
||||||
|
#endif
|
||||||
extern int unlink __P((const char *));
|
extern int unlink __P((const char *));
|
||||||
|
|
||||||
#ifdef STDC
|
#ifdef STDC
|
||||||
|
|||||||
17
zconf.h
17
zconf.h
@@ -3,7 +3,7 @@
|
|||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: zconf.h,v 1.10 1995/04/30 19:27:14 jloup Exp $ */
|
/* $Id: zconf.h,v 1.11 1995/05/02 13:07:21 jloup Exp $ */
|
||||||
|
|
||||||
#ifndef _ZCONF_H
|
#ifndef _ZCONF_H
|
||||||
#define _ZCONF_H
|
#define _ZCONF_H
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
# define STDC
|
# define STDC
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Maximum value for memLevel in deflateInit2 */
|
||||||
#ifndef MAX_MEM_LEVEL
|
#ifndef MAX_MEM_LEVEL
|
||||||
# ifdef MAXSEG_64K
|
# ifdef MAXSEG_64K
|
||||||
# define MAX_MEM_LEVEL 8
|
# define MAX_MEM_LEVEL 8
|
||||||
@@ -40,10 +41,24 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Maximum value for windowBits in deflateInit2 and inflateInit2 */
|
||||||
#ifndef MAX_WBITS
|
#ifndef MAX_WBITS
|
||||||
# define MAX_WBITS 15 /* 32K LZ77 window */
|
# define MAX_WBITS 15 /* 32K LZ77 window */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* The memory requirements for deflate are (in bytes):
|
||||||
|
1 << (windowBits+2) + 1 << (memLevel+9)
|
||||||
|
that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
|
||||||
|
plus a few kilobytes for small objects. For example, if you want to reduce
|
||||||
|
the default memory requirements from 256K to 128K, compile with
|
||||||
|
make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
|
||||||
|
Of course this will generally degrade compression (there's no free lunch).
|
||||||
|
|
||||||
|
The memory requirements for inflate are (in bytes) 1 << windowBits
|
||||||
|
that is, 32K for windowBits=15 (default value) plus a few kilobytes
|
||||||
|
for small objects.
|
||||||
|
*/
|
||||||
|
|
||||||
/* Type declarations */
|
/* Type declarations */
|
||||||
|
|
||||||
#ifndef __P /* function prototypes */
|
#ifndef __P /* function prototypes */
|
||||||
|
|||||||
7
zlib.h
7
zlib.h
@@ -1,5 +1,5 @@
|
|||||||
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
||||||
version 0.9 April 30th, 1995.
|
version 0.91 May 2nd, 1995.
|
||||||
|
|
||||||
Copyright (C) 1995 Jean-loup Gailly and Mark Adler
|
Copyright (C) 1995 Jean-loup Gailly and Mark Adler
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
#include "zconf.h"
|
#include "zconf.h"
|
||||||
|
|
||||||
#define ZLIB_VERSION "0.9"
|
#define ZLIB_VERSION "0.91"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The 'zlib' compression library provides in-memory compression and
|
The 'zlib' compression library provides in-memory compression and
|
||||||
@@ -335,7 +335,8 @@ extern int deflateInit2 __P((z_stream *strm,
|
|||||||
The memLevel parameter specifies how much memory should be allocated
|
The memLevel parameter specifies how much memory should be allocated
|
||||||
for the internal compression state. memLevel=1 uses minimum memory but
|
for the internal compression state. memLevel=1 uses minimum memory but
|
||||||
is slow and reduces compression ratio; memLevel=9 uses maximum memory
|
is slow and reduces compression ratio; memLevel=9 uses maximum memory
|
||||||
for optimal speed. The default value is 8.
|
for optimal speed. The default value is 8. See zconf.h for total memory
|
||||||
|
usage as a function of windowBits and memLevel.
|
||||||
|
|
||||||
The strategy parameter is used to tune the compression algorithm. Use
|
The strategy parameter is used to tune the compression algorithm. Use
|
||||||
the value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data
|
the value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data
|
||||||
|
|||||||
23
zutil.c
23
zutil.c
@@ -3,13 +3,15 @@
|
|||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: zutil.c,v 1.6 1995/04/29 14:54:02 jloup Exp $ */
|
/* $Id: zutil.c,v 1.7 1995/05/02 15:54:47 jloup Exp $ */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "zutil.h"
|
#include "zutil.h"
|
||||||
|
|
||||||
|
#ifndef __GO32__
|
||||||
extern void exit __P((int));
|
extern void exit __P((int));
|
||||||
|
#endif
|
||||||
|
|
||||||
char *zlib_version = ZLIB_VERSION;
|
char *zlib_version = ZLIB_VERSION;
|
||||||
|
|
||||||
@@ -55,8 +57,9 @@ void zmemzero(dest, len)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(MSDOS) && !defined(__SMALL__) && !defined(M_I86SM)
|
#if defined(__TURBOC__) && !defined(__SMALL__)
|
||||||
# ifdef __TURBOC__
|
|
||||||
|
# define MY_ZCALLOC
|
||||||
|
|
||||||
/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
|
/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
|
||||||
* and farmalloc(64K) returns a pointer with an offset of 8, so we
|
* and farmalloc(64K) returns a pointer with an offset of 8, so we
|
||||||
@@ -124,8 +127,11 @@ void zcfree (voidp opaque, voidp ptr)
|
|||||||
ptr = opaque; /* just to make some compilers happy */
|
ptr = opaque; /* just to make some compilers happy */
|
||||||
z_error("zcfree: ptr not found");
|
z_error("zcfree: ptr not found");
|
||||||
}
|
}
|
||||||
|
#endif /* __TURBOC__ */
|
||||||
|
|
||||||
# else /* MSC */
|
#if defined(M_I86CM) || defined(M_I86LM) /* MSC compact or large model */
|
||||||
|
|
||||||
|
# define MY_ZCALLOC
|
||||||
|
|
||||||
#if (!defined(_MSC_VER) || (_MSC_VER < 600))
|
#if (!defined(_MSC_VER) || (_MSC_VER < 600))
|
||||||
# define _halloc halloc
|
# define _halloc halloc
|
||||||
@@ -144,12 +150,15 @@ void zcfree (voidp opaque, voidp ptr)
|
|||||||
_hfree(ptr);
|
_hfree(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
# endif /* __TURBOC__ ? */
|
#endif /* defined(M_I86CM) || defined(M_I86LM) */
|
||||||
|
|
||||||
#else /* !MSDOS */
|
|
||||||
|
|
||||||
|
#ifndef MY_ZCALLOC /* Any system without a special alloc function */
|
||||||
|
|
||||||
|
#ifndef __GO32__
|
||||||
extern voidp calloc __P((uInt items, uInt size));
|
extern voidp calloc __P((uInt items, uInt size));
|
||||||
extern void free __P((voidp ptr));
|
extern void free __P((voidp ptr));
|
||||||
|
#endif
|
||||||
|
|
||||||
voidp zcalloc (opaque, items, size)
|
voidp zcalloc (opaque, items, size)
|
||||||
voidp opaque;
|
voidp opaque;
|
||||||
@@ -166,4 +175,4 @@ void zcfree (opaque, ptr)
|
|||||||
free(ptr);
|
free(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MSDOS */
|
#endif /* MY_ZCALLOC */
|
||||||
|
|||||||
12
zutil.h
12
zutil.h
@@ -8,7 +8,7 @@
|
|||||||
subject to change. Applications should only use zlib.h.
|
subject to change. Applications should only use zlib.h.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: zutil.h,v 1.7 1995/04/30 10:55:33 jloup Exp $ */
|
/* $Id: zutil.h,v 1.8 1995/05/02 15:44:46 jloup Exp $ */
|
||||||
|
|
||||||
#ifndef _Z_UTIL_H
|
#ifndef _Z_UTIL_H
|
||||||
#define _Z_UTIL_H
|
#define _Z_UTIL_H
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#ifdef MSDOS
|
#ifdef MSDOS
|
||||||
# include <stddef.h>
|
# include <stddef.h>
|
||||||
|
# include <errno.h>
|
||||||
#else
|
#else
|
||||||
extern int errno;
|
extern int errno;
|
||||||
#endif
|
#endif
|
||||||
@@ -43,7 +44,14 @@ extern char *z_errmsg[]; /* indexed by 1-zlib_error */
|
|||||||
#define DEFLATED 8
|
#define DEFLATED 8
|
||||||
|
|
||||||
#define DEF_WBITS 15
|
#define DEF_WBITS 15
|
||||||
/* default WBITS for decompression. MAX_WBITS is useful for compression only */
|
/* default windowBits for decompression. MAX_WBITS is for compression only */
|
||||||
|
|
||||||
|
#if MAX_MEM_LEVEL >= 8
|
||||||
|
# define DEF_MEM_LEVEL 8
|
||||||
|
#else
|
||||||
|
# define DEF_MEM_LEVEL MAX_MEM_LEVEL
|
||||||
|
#endif
|
||||||
|
/* default memLevel */
|
||||||
|
|
||||||
#define STORED_BLOCK 0
|
#define STORED_BLOCK 0
|
||||||
#define STATIC_TREES 1
|
#define STATIC_TREES 1
|
||||||
|
|||||||
Reference in New Issue
Block a user