aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/Pl_QPDFTokenizer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf/Pl_QPDFTokenizer.cc')
-rw-r--r--libqpdf/Pl_QPDFTokenizer.cc18
1 files changed, 13 insertions, 5 deletions
diff --git a/libqpdf/Pl_QPDFTokenizer.cc b/libqpdf/Pl_QPDFTokenizer.cc
index 4fc37767..577c5cc7 100644
--- a/libqpdf/Pl_QPDFTokenizer.cc
+++ b/libqpdf/Pl_QPDFTokenizer.cc
@@ -15,14 +15,15 @@ Pl_QPDFTokenizer::Members::~Members()
{
}
-Pl_QPDFTokenizer::Pl_QPDFTokenizer(
- char const* identifier,
- QPDFObjectHandle::TokenFilter* filter)
- :
- Pipeline(identifier, 0),
+Pl_QPDFTokenizer::Pl_QPDFTokenizer(char const* identifier,
+ QPDFObjectHandle::TokenFilter* filter,
+ Pipeline* next) :
+ Pipeline(identifier, next),
m(new Members)
{
m->filter = filter;
+ QPDFObjectHandle::TokenFilter::PipelineAccessor::setPipeline(
+ m->filter, next);
m->tokenizer.allowEOF();
m->tokenizer.includeIgnorable();
}
@@ -88,4 +89,11 @@ Pl_QPDFTokenizer::finish()
}
this->m->filter->handleEOF();
+ QPDFObjectHandle::TokenFilter::PipelineAccessor::setPipeline(
+ m->filter, 0);
+ Pipeline* next = this->getNext(true);
+ if (next)
+ {
+ next->finish();
+ }
}