aboutsummaryrefslogtreecommitdiff
path: root/sys/base/flate/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/base/flate/write.c')
-rw-r--r--sys/base/flate/write.c48
1 files changed, 0 insertions, 48 deletions
diff --git a/sys/base/flate/write.c b/sys/base/flate/write.c
deleted file mode 100644
index 3f07b94..0000000
--- a/sys/base/flate/write.c
+++ /dev/null
@@ -1,48 +0,0 @@
-#include "internal.h"
-
-int
-flate·write(flate·Writer *wtr, int sz, int n, void *buf)
-{
- int r;
- int err;
- flate·Writer zwtr;
-
- zwtr = *wtr;
- zwtr.next_out = buf;
-DEFLATE:
- zwtr.avail_out = n*sz;
- err = deflate(&zwtr.z, Z_NO_FLUSH);
-
- switch (err) {
- case Z_STREAM_END:
- return n;
-
- case Z_OK:
- r = (zwtr.next_out - (ubyte*)buf)/sz;
- n -= r;
- if (!n) {
- return r;
- }
- buf += n;
- goto DEFLATE;
-
- case Z_STREAM_ERROR:
- errorf("zlib: bad input");
- goto ERROR;
-
- case Z_BUF_ERROR:
- if (!zwtr.avail_in) {
- zwtr.avail_in += zwtr.wtr.write(zwtr.impl, 1, arrlen(zwtr.buf), buf);
- if (!zwtr.avail_in) {
- errorf("reader: failed read");
- goto ERROR;
- }
- goto DEFLATE;
- }
- }
-
- return 0;
-ERROR:
- errorf("zlib: %s", zwtr.msg);
- return -1;
-}