-/* $Id: ppp-deflate.c,v 1.2 1996/04/04 03:23:09 paulus Exp $ */
+/* $Id: ppp-deflate.c,v 1.6 1997/04/30 05:47:23 paulus Exp $ */
/*
* ppp_deflate.c - interface the zlib procedures for Deflate compression
#if DO_DEFLATE
+#define DEFLATE_DEBUG 1
+
/*
* State for a Deflate (de)compressor.
*/
state->strm.next_in = NULL;
state->strm.zalloc = zalloc;
+ state->strm.zalloc_init = zalloc;
state->strm.zfree = zfree;
if (deflateInit2(&state->strm, Z_DEFAULT_COMPRESSION, DEFLATE_METHOD_VAL,
-w_size, 8, Z_DEFAULT_STRATEGY, DEFLATE_OVHD+2) != Z_OK) {
state->strm.next_out = NULL;
state->strm.zalloc = zalloc;
+ state->strm.zalloc_init = zalloc;
state->strm.zfree = zfree;
if (inflateInit2(&state->strm, -w_size) != Z_OK) {
FREE(state, M_DEVBUF);
for (;;) {
r = inflate(&state->strm, flush);
if (r != Z_OK) {
+#if !DEFLATE_DEBUG
if (state->debug)
+#endif
printf("z_decompress%d: inflate returned %d (%s)\n",
state->unit, r, (state->strm.msg? state->strm.msg: ""));
m_freem(mo_head);
return DECOMP_ERROR;
}
olen += (mo->m_len = ospace - state->strm.avail_out);
+#if DEFLATE_DEBUG
+ if (olen > state->mru + PPP_HDRLEN)
+ printf("ppp_deflate%d: exceeded mru (%d > %d)\n",
+ state->unit, olen, state->mru + PPP_HDRLEN);
+#endif
state->stats.unc_bytes += olen;
state->stats.unc_packets++;
r = inflateIncomp(&state->strm);
if (r != Z_OK) {
/* gak! */
- if (state->debug) {
+#if !DEFLATE_DEBUG
+ if (state->debug)
+#endif
printf("z_incomp%d: inflateIncomp returned %d (%s)\n",
state->unit, r, (state->strm.msg? state->strm.msg: ""));
- }
return;
}
mi = mi->m_next;