diff options
Diffstat (limited to 'libqpdf/Pl_Count.cc')
-rw-r--r-- | libqpdf/Pl_Count.cc | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/libqpdf/Pl_Count.cc b/libqpdf/Pl_Count.cc new file mode 100644 index 00000000..8a361ad5 --- /dev/null +++ b/libqpdf/Pl_Count.cc @@ -0,0 +1,42 @@ + +#include <qpdf/Pl_Count.hh> + +Pl_Count::Pl_Count(char const* identifier, Pipeline* next) : + Pipeline(identifier, next), + count(0), + last_char('\0') +{ +} + +Pl_Count::~Pl_Count() +{ +} + +void +Pl_Count::write(unsigned char* buf, int len) +{ + if (len) + { + this->count += len; + getNext()->write(buf, len); + this->last_char = buf[len - 1]; + } +} + +void +Pl_Count::finish() +{ + getNext()->finish(); +} + +int +Pl_Count::getCount() const +{ + return this->count; +} + +unsigned char +Pl_Count::getLastChar() const +{ + return this->last_char; +} |