summaryrefslogtreecommitdiff
path: root/example.c
diff options
context:
space:
mode:
authorMark Adler <madler@alumni.caltech.edu>2011-09-09 23:03:14 -0700
committerMark Adler <madler@alumni.caltech.edu>2011-09-09 23:03:14 -0700
commit4ca984fb447ac57120c394cf2fbba23837ed31c2 (patch)
tree3525a9d186dbb328209747e2d57cb9642ebca0fd /example.c
parent913afb9174bb474104049906c1382dec81826424 (diff)
downloadzlib-0.8.tar.gz
zlib-0.8.tar.bz2
zlib-0.8.zip
zlib 0.8v0.8
Diffstat (limited to '')
-rw-r--r--example.c42
1 files changed, 26 insertions, 16 deletions
diff --git a/example.c b/example.c
index 86541a7..5b482b8 100644
--- a/example.c
+++ b/example.c
@@ -3,11 +3,17 @@
3 * For conditions of distribution and use, see copyright notice in zlib.h 3 * For conditions of distribution and use, see copyright notice in zlib.h
4 */ 4 */
5 5
6/* $Id: example.c,v 1.5 1995/04/14 20:35:56 jloup Exp $ */ 6/* $Id: example.c,v 1.6 1995/04/29 16:53:46 jloup Exp $ */
7 7
8#include <stdio.h> 8#include <stdio.h>
9#include "zlib.h" 9#include "zlib.h"
10 10
11#ifdef STDC
12# include <string.h>
13#endif
14
15extern void exit __P((int));
16
11#define BUFLEN 4096 17#define BUFLEN 4096
12 18
13#define local static 19#define local static
@@ -25,6 +31,12 @@
25 31
26char *hello = "hello world"; 32char *hello = "hello world";
27 33
34void test_compress __P((void));
35void test_gzio __P((char *out, char *in));
36void test_deflate __P((Byte compr[]));
37void test_inflate __P((Byte compr[]));
38void main __P((int argc, char *argv[]));
39
28/* =========================================================================== 40/* ===========================================================================
29 * Test compress() and uncompress() 41 * Test compress() and uncompress()
30 */ 42 */
@@ -37,15 +49,15 @@ void test_compress()
37 int err; 49 int err;
38 uLong len = strlen(hello)+1; 50 uLong len = strlen(hello)+1;
39 51
40 err = compress(compr, &comprLen, hello, len); 52 err = compress(compr, &comprLen, (Byte*)hello, len);
41 CHECK_ERR(err, "compress"); 53 CHECK_ERR(err, "compress");
42 54
43 strcpy(uncompr, "garbage"); 55 strcpy((char*)uncompr, "garbage");
44 56
45 err = uncompress(uncompr, &uncomprLen, compr, comprLen); 57 err = uncompress(uncompr, &uncomprLen, compr, comprLen);
46 CHECK_ERR(err, "uncompress"); 58 CHECK_ERR(err, "uncompress");
47 59
48 if (strcmp(uncompr, hello)) { 60 if (strcmp((char*)uncompr, hello)) {
49 fprintf(stderr, "bad uncompress\n"); 61 fprintf(stderr, "bad uncompress\n");
50 } else { 62 } else {
51 printf("uncompress(): %s\n", uncompr); 63 printf("uncompress(): %s\n", uncompr);
@@ -80,7 +92,7 @@ void test_gzio(out, in)
80 if (file == NULL) { 92 if (file == NULL) {
81 fprintf(stderr, "gzopen error\n"); 93 fprintf(stderr, "gzopen error\n");
82 } 94 }
83 strcpy(uncompr, "garbage"); 95 strcpy((char*)uncompr, "garbage");
84 96
85 uncomprLen = gzread(file, uncompr, uncomprLen); 97 uncomprLen = gzread(file, uncompr, uncomprLen);
86 if (uncomprLen != len) { 98 if (uncomprLen != len) {
@@ -88,7 +100,7 @@ void test_gzio(out, in)
88 } 100 }
89 gzclose(file); 101 gzclose(file);
90 102
91 if (strcmp(uncompr, hello)) { 103 if (strcmp((char*)uncompr, hello)) {
92 fprintf(stderr, "bad gzread\n"); 104 fprintf(stderr, "bad gzread\n");
93 } else { 105 } else {
94 printf("gzread(): %s\n", uncompr); 106 printf("gzread(): %s\n", uncompr);
@@ -96,9 +108,9 @@ void test_gzio(out, in)
96} 108}
97 109
98/* =========================================================================== 110/* ===========================================================================
99 * Test deflate() with small buffers, return the compressed length. 111 * Test deflate() with small buffers
100 */ 112 */
101uLong test_deflate(compr) 113void test_deflate(compr)
102 Byte compr[]; 114 Byte compr[];
103{ 115{
104 z_stream c_stream; /* compression stream */ 116 z_stream c_stream; /* compression stream */
@@ -120,16 +132,15 @@ uLong test_deflate(compr)
120 CHECK_ERR(err, "deflate"); 132 CHECK_ERR(err, "deflate");
121 } 133 }
122 /* Finish the stream, still forcing small buffers: */ 134 /* Finish the stream, still forcing small buffers: */
123 do { 135 for (;;) {
124 c_stream.avail_out = 1; 136 c_stream.avail_out = 1;
125 err = deflate(&c_stream, Z_FINISH); 137 err = deflate(&c_stream, Z_FINISH);
138 if (err == Z_STREAM_END) break;
126 CHECK_ERR(err, "deflate"); 139 CHECK_ERR(err, "deflate");
127 } while (c_stream.avail_out == 0); 140 }
128 141
129 err = deflateEnd(&c_stream); 142 err = deflateEnd(&c_stream);
130 CHECK_ERR(err, "deflateEnd"); 143 CHECK_ERR(err, "deflateEnd");
131
132 return c_stream.total_out;
133} 144}
134 145
135/* =========================================================================== 146/* ===========================================================================
@@ -142,7 +153,7 @@ void test_inflate(compr)
142 int err; 153 int err;
143 z_stream d_stream; /* decompression stream */ 154 z_stream d_stream; /* decompression stream */
144 155
145 strcpy(uncompr, "garbage"); 156 strcpy((char*)uncompr, "garbage");
146 157
147 d_stream.zalloc = (alloc_func)0; 158 d_stream.zalloc = (alloc_func)0;
148 d_stream.zfree = (free_func)0; 159 d_stream.zfree = (free_func)0;
@@ -163,7 +174,7 @@ void test_inflate(compr)
163 err = inflateEnd(&d_stream); 174 err = inflateEnd(&d_stream);
164 CHECK_ERR(err, "inflateEnd"); 175 CHECK_ERR(err, "inflateEnd");
165 176
166 if (strcmp(uncompr, hello)) { 177 if (strcmp((char*)uncompr, hello)) {
167 fprintf(stderr, "bad inflate\n"); 178 fprintf(stderr, "bad inflate\n");
168 } else { 179 } else {
169 printf("inflate(): %s\n", uncompr); 180 printf("inflate(): %s\n", uncompr);
@@ -179,7 +190,6 @@ void main(argc, argv)
179 char *argv[]; 190 char *argv[];
180{ 191{
181 local Byte compr[BUFLEN]; 192 local Byte compr[BUFLEN];
182 uLong comprLen;
183 193
184 if (zlib_version[0] != ZLIB_VERSION[0]) { 194 if (zlib_version[0] != ZLIB_VERSION[0]) {
185 fprintf(stderr, "incompatible zlib version\n"); 195 fprintf(stderr, "incompatible zlib version\n");
@@ -193,7 +203,7 @@ void main(argc, argv)
193 test_gzio((argc > 1 ? argv[1] : "foo.gz"), 203 test_gzio((argc > 1 ? argv[1] : "foo.gz"),
194 (argc > 2 ? argv[2] : "foo.gz")); 204 (argc > 2 ? argv[2] : "foo.gz"));
195 205
196 comprLen = test_deflate(compr); 206 test_deflate(compr);
197 207
198 test_inflate(compr); 208 test_inflate(compr);
199 209