]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - zlib/inflate.c
Tailor zlib to our needs:
[proxmark3-svn] / zlib / inflate.c
index 870f89bb4d3646684bf37e2144c4b83c808ab84d..d2c666b0345244b70281de85eac7b0733909a66e 100644 (file)
 #endif
 
 /* function prototypes */
 #endif
 
 /* function prototypes */
+#ifdef ZLIB_PM3_TUNED
+extern void Dbprintf(const char *fmt, ...);
+#else
 local void fixedtables OF((struct inflate_state FAR *state));
 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
 local int updatewindow OF((z_streamp strm, const unsigned char FAR *end,
                            unsigned copy));
 #ifdef BUILDFIXED
@@ -258,6 +262,7 @@ int value;
    used for threaded applications, since the rewriting of the tables and virgin
    may not be thread-safe.
  */
    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;
 {
 local void fixedtables(state)
 struct inflate_state FAR *state;
 {
@@ -361,7 +366,7 @@ void makefixed()
     puts("\n    };");
 }
 #endif /* MAKEFIXED */
     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
 /*
    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
@@ -841,6 +846,10 @@ int flush;
                 state->mode = STORED;
                 break;
             case 1:                             /* fixed block */
                 state->mode = STORED;
                 break;
             case 1:                             /* fixed block */
+#ifdef ZLIB_PM3_TUNED
+                               Dbprintf("FATAL error. Compressed FPGA files with fixed code blocks are not supported!");
+                               for(;;);
+#else                          
                 fixedtables(state);
                 Tracev((stderr, "inflate:     fixed codes block%s\n",
                         state->last ? " (last)" : ""));
                 fixedtables(state);
                 Tracev((stderr, "inflate:     fixed codes block%s\n",
                         state->last ? " (last)" : ""));
@@ -849,6 +858,7 @@ int flush;
                     DROPBITS(2);
                     goto inf_leave;
                 }
                     DROPBITS(2);
                     goto inf_leave;
                 }
+#endif
                 break;
             case 2:                             /* dynamic block */
                 Tracev((stderr, "inflate:     dynamic codes block%s\n",
                 break;
             case 2:                             /* dynamic block */
                 Tracev((stderr, "inflate:     dynamic codes block%s\n",
Impressum, Datenschutz