فهرست منبع

zlib: add watchdog reset call

This patch adds watchdog reset call to allow its invokation during decompression
phase. This control was present on old zlib version and here it is
backported for those relevant routines. This patch is sent as a zlib separate
one beacuse it was not tested due to specific board lack.
zlib patches will be unified just in one when this will be validated through
tests.

Signed-off-by: Giuseppe Condorelli <giuseppe.condorelli@st.com>
Giuseppe CONDORELLI 15 سال پیش
والد
کامیت
253cb831f5
1فایلهای تغییر یافته به همراه7 افزوده شده و 1 حذف شده
  1. 7 1
      lib_generic/zlib.c

+ 7 - 1
lib_generic/zlib.c

@@ -1040,6 +1040,8 @@ z_streamp strm;
     state->hold = 0;
     state->bits = 0;
     state->lencode = state->distcode = state->next = state->codes;
+    if (strm->outcb != Z_NULL)
+	(*strm->outcb)(Z_NULL, 0);
     Tracev((stderr, "inflate: reset\n"));
     return Z_OK;
 }
@@ -1952,7 +1954,11 @@ z_streamp strm;
     if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
         return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
-    if (state->window != Z_NULL) ZFREE(strm, state->window);
+    if (state->window != Z_NULL) {
+	if (strm->outcb != Z_NULL)
+		(*strm->outcb)(Z_NULL, 0);
+	ZFREE(strm, state->window);
+    }
     ZFREE(strm, strm->state);
     strm->state = Z_NULL;
     Tracev((stderr, "inflate: end\n"));