summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
Diffstat (limited to 'filter')
-rw-r--r--filter/filec.c13
-rw-r--r--filter/filter.c26
2 files changed, 10 insertions, 29 deletions
diff --git a/filter/filec.c b/filter/filec.c
index 8402401f..a8a26008 100644
--- a/filter/filec.c
+++ b/filter/filec.c
@@ -148,13 +148,19 @@ fz_pushfilter(fz_file *file, fz_filter *filter)
file->out = file->in;
file->in = buf;
-// XXX
if (file->mode == O_RDONLY)
{
file->out->rp = file->out->bp;
file->out->wp = file->out->bp;
file->out->eof = 0;
}
+ else
+ {
+ file->out->eof = 0;
+ file->in->rp = file->in->bp;
+ file->in->wp = file->in->bp;
+ file->in->eof = 0;
+ }
file->filter = filter;
}
@@ -220,11 +226,6 @@ fz_popfilter(fz_file *file)
buf = file->out;
file->out = file->in;
file->in = buf;
-
-// XXX
- file->in->rp = file->in->bp;
- file->in->wp = file->in->bp;
- file->in->eof = 0;
}
else
{
diff --git a/filter/filter.c b/filter/filter.c
index 8e28a532..68dd70b9 100644
--- a/filter/filter.c
+++ b/filter/filter.c
@@ -1,28 +1,8 @@
#include <fitz.h>
-fz_error fz_kioneedin = {
- .msg = {"<ioneedin>"},
- .func = {"<process>"},
- .file = {"filter.c"},
- .line = 0,
- .frozen = 1
-};
-
-fz_error fz_kioneedout = {
- .msg = {"<ioneedout>"},
- .func = {"<process>"},
- .file = {"filter.c"},
- .line = 0,
- .frozen = 1
-};
-
-fz_error fz_kiodone = {
- .msg = {"<iodone>"},
- .func = {"<process>"},
- .file = {"filter.c"},
- .line = 0,
- .frozen = 1
-};
+fz_error fz_kioneedin = { "<ioneedin>", "<process>", "filter.c", 0, 1 };
+fz_error fz_kioneedout = { "<ioneedout>", "<process>", "filter.c", 0, 1 };
+fz_error fz_kiodone = { "<iodone>", "<process>", "filter.c", 0, 1 };
fz_error *
fz_process(fz_filter *f, fz_buffer *in, fz_buffer *out)