]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - lib_generic/bzlib_decompress.c
vsprintf: add z and t options
[karo-tx-uboot.git] / lib_generic / bzlib_decompress.c
index a4a16879e7dce16a970cac52d1bd5ce4208ba230..a5750520cc40487d20430d60c11dac0a9f5076c0 100644 (file)
@@ -1,4 +1,6 @@
 #include <config.h>
+#include <common.h>
+#include <watchdog.h>
 #ifdef CONFIG_BZIP2
 
 /*-------------------------------------------------------------*/
@@ -416,6 +418,9 @@ Int32 BZ2_decompress ( DState* s )
 
       while (True) {
 
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
+       WATCHDOG_RESET();
+#endif
         if (nextSym == EOB) break;
 
         if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) {
@@ -498,6 +503,9 @@ Int32 BZ2_decompress ( DState* s )
                  if (s->mtfbase[0] == 0) {
                     kk = MTFA_SIZE-1;
                     for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) {
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
+                       WATCHDOG_RESET();
+#endif
                        for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
                           s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj];
                           kk--;
@@ -560,6 +568,9 @@ Int32 BZ2_decompress ( DState* s )
         }
            while (i != s->origPtr);
 
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
+       WATCHDOG_RESET();
+#endif
         s->tPos = s->origPtr;
         s->nblock_used = 0;
         if (s->blockRandomised) {
@@ -572,6 +583,9 @@ Int32 BZ2_decompress ( DState* s )
 
       } else {
 
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
+       WATCHDOG_RESET();
+#endif
         /*-- compute the T^(-1) vector --*/
         for (i = 0; i < nblock; i++) {
            uc = (UChar)(s->tt[i] & 0xff);