* The history for versions after 1.2.0 are in ChangeLog in zlib distribution.
*/
+//-----------------------------------------------------------------------------
+// This version of zlib is modified for use within the Proxmark3 project.
+// Files from the original distribution which are not required for this
+// purpose are not included. All modifications can easily be found
+// by searching for #ifdef ZLIB_PM3_TUNED and #ifndef ZLIB_PM3_TUNED.
+//-----------------------------------------------------------------------------
+
+
+
#include "zutil.h"
#include "inftrees.h"
#include "inflate.h"
#endif
/* function prototypes */
+#ifdef ZLIB_PM3_TUNED
+extern void Dbprintf(const char *fmt, ...);
+#else
local void fixedtables OF((struct inflate_state FAR *state));
+#endif
local int updatewindow OF((z_streamp strm, const unsigned char FAR *end,
unsigned copy));
#ifdef BUILDFIXED
used for threaded applications, since the rewriting of the tables and virgin
may not be thread-safe.
*/
+#ifndef ZLIB_PM3_TUNED
local void fixedtables(state)
struct inflate_state FAR *state;
{
puts("\n };");
}
#endif /* MAKEFIXED */
-
+#endif /* ZLIB_PM3_TUNED */
/*
Update the window with the last wsize (normally 32K) bytes written before
returning. If window does not exist yet, create it. This is only called
state->mode = STORED;
break;
case 1: /* fixed block */
+#ifdef ZLIB_PM3_TUNED
+ strm->msg = (char *)"fixed block coding not supported";
+ state->mode = BAD;
+#else
fixedtables(state);
Tracev((stderr, "inflate: fixed codes block%s\n",
state->last ? " (last)" : ""));
DROPBITS(2);
goto inf_leave;
}
+#endif
break;
case 2: /* dynamic block */
Tracev((stderr, "inflate: dynamic codes block%s\n",
{
struct inflate_state FAR *state;
- if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16;
+ if (strm == Z_NULL || strm->state == Z_NULL) return ~0UL << 16;
state = (struct inflate_state FAR *)strm->state;
return ((long)(state->back) << 16) +
(state->mode == COPY ? state->length :