- int ret, len = read(fd_in, &buf_in, 1024);
-
- dbgprintf("read %d bytes\n", len);
-
- last_out = zstream.total_out;
-
- zstream.next_in = &buf_in[0];
- zstream.avail_in = len;
- zstream.next_out = &buf_out[0];
- zstream.avail_out = 1024;
-
- ret = inflate(&zstream, Z_SYNC_FLUSH);
- if (ret == Z_STREAM_END || ret == Z_BUF_ERROR)
- break;
- if (ret != Z_OK)
- {
- printf("Error while decompressing: %d\n", ret);
- inflateEnd(&zstream);
- exit(1);
- }
-
- dbgprintf("a_in: %d t_in: %d a_out: %d t_out: %d -- %d out\n",
- zstream.avail_in, zstream.total_in, zstream.avail_out, zstream.total_out,
- zstream.total_out-last_out);
-
- write(fd_out, &buf_out, zstream.total_out-last_out);
-
- i += len;
+ int ret, len = read(fd_in, &buf_in, 1024);
+
+ dbgprintf("read %d bytes\n", len);
+
+ last_out = zstream.total_out;
+
+ zstream.next_in = &buf_in[0];
+ zstream.avail_in = len;
+ zstream.next_out = &buf_out[0];
+ zstream.avail_out = 65536;
+
+ ret = inflate(&zstream, Z_SYNC_FLUSH);
+ if (ret != Z_STREAM_END && ret != Z_OK)
+ {
+ printf("Error while decompressing: %d\n", ret);
+ inflateEnd(&zstream);
+ exit(1);
+ }
+
+ dbgprintf("a_in: %d t_in: %d a_out: %d t_out: %d -- %d out\n",
+ zstream.avail_in, zstream.total_in, zstream.avail_out, zstream.total_out,
+ zstream.total_out-last_out);
+
+ write(fd_out, &buf_out, zstream.total_out-last_out);
+
+ i += len;
+
+ if (ret == Z_STREAM_END || ret == Z_BUF_ERROR)
+ break;