summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fitz/filt_faxd.c14
-rw-r--r--fitz/filt_lzwd.c16
2 files changed, 14 insertions, 16 deletions
diff --git a/fitz/filt_faxd.c b/fitz/filt_faxd.c
index e4a81724..dd6ac9d0 100644
--- a/fitz/filt_faxd.c
+++ b/fitz/filt_faxd.c
@@ -549,7 +549,6 @@ readfaxd(fz_stream *stm, unsigned char *buf, int len)
unsigned char *ep = buf + len;
unsigned char *tmp;
fz_error error;
- int i;
if (fax->stage == SDONE)
return 0;
@@ -692,12 +691,6 @@ eol:
rtc:
fax->stage = SDONE;
-
- /* try to put back any extra bytes we read */
- i = (32 - fax->bidx) / 8;
- while (i--)
- fz_unreadbyte(fax->chain);
-
return p - buf;
}
@@ -705,6 +698,13 @@ static void
closefaxd(fz_stream *stm)
{
fz_faxd *fax = stm->state;
+ int i;
+
+ /* if we read any extra bytes, try to put them back */
+ i = (32 - fax->bidx) / 8;
+ while (i--)
+ fz_unreadbyte(fax->chain);
+
fz_close(fax->chain);
fz_free(fax->ref);
fz_free(fax->dst);
diff --git a/fitz/filt_lzwd.c b/fitz/filt_lzwd.c
index e55a8c28..ba1ddf62 100644
--- a/fitz/filt_lzwd.c
+++ b/fitz/filt_lzwd.c
@@ -64,13 +64,6 @@ static inline int fillbits(fz_lzwd *lzw)
return 0;
}
-static inline void unstuff(fz_lzwd *lzw)
-{
- int i = (32 - lzw->bidx) / 8;
- while (i--)
- fz_unreadbyte(lzw->chain);
-}
-
static int
readlzwd(fz_stream *stm, unsigned char *buf, int len)
{
@@ -92,7 +85,6 @@ readlzwd(fz_stream *stm, unsigned char *buf, int len)
{
if (lzw->bidx > 32 - lzw->codebits)
{
- unstuff(lzw);
lzw->eod = 1;
return p - buf;
}
@@ -104,7 +96,6 @@ readlzwd(fz_stream *stm, unsigned char *buf, int len)
if (lzw->code == LZW_EOD)
{
- unstuff(lzw);
lzw->eod = 1;
return p - buf;
}
@@ -184,6 +175,13 @@ static void
closelzwd(fz_stream *stm)
{
fz_lzwd *lzw = stm->state;
+ int i;
+
+ /* if we read any extra bytes, try to put them back */
+ i = (32 - lzw->bidx) / 8;
+ while (i--)
+ fz_unreadbyte(lzw->chain);
+
fz_close(lzw->chain);
fz_free(lzw);
}