8 char inbuf[1024], outbuf[1024];
12 memset(&zs, 0, sizeof(zs));
15 zs.avail_out = sizeof(outbuf);
17 ret = inflateInit2(&zs, -15);
19 fprintf(stderr,"inflateInit2 error %d\n", ret);
24 if (zs.avail_in == 0) {
25 zs.avail_in = read(0, inbuf, sizeof(inbuf));
27 if (zs.avail_in == 0) break;
30 ret = inflate(&zs, Z_SYNC_FLUSH);
32 if (zs.avail_out < sizeof(outbuf)) {
33 write(1, outbuf, sizeof(outbuf) - zs.avail_out);
34 zs.avail_out = sizeof(outbuf);
38 if (ret == Z_STREAM_END) break;
40 fprintf(stderr,"inflate error %d\n", ret);