ref: 745debcdfb49837a82d112c2623b7a763fdf2cd0
dir: /f_flate.c/
#include <u.h> #include <libc.h> #include <bio.h> #include <flate.h> #include "pdf.h" static int bw(void *aux, void *d, int n) { return bufput(aux, d, n); } static int bget(void *aux) { uchar c; return bufget(aux, &c, 1) == 1 ? c : -1; } int fFlate(void *aux, Buffer *bi, Buffer *bo) { int r; USED(aux); do{ r = inflatezlib(bo, bw, bi, bget); }while(r == FlateOk && !bufeof(bi)); if(r != FlateOk){ werrstr("%s", flateerr(r)); return -1; } return 0; }