diff options
Diffstat (limited to 'libtests/lzw.cc')
-rw-r--r-- | libtests/lzw.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libtests/lzw.cc b/libtests/lzw.cc new file mode 100644 index 00000000..38c8e541 --- /dev/null +++ b/libtests/lzw.cc @@ -0,0 +1,38 @@ +#include <qpdf/Pl_LZWDecoder.hh> + +#include <qpdf/Pl_StdioFile.hh> +#include <iostream> + +int main() +{ + Pl_StdioFile out("stdout", stdout); + // We don't exercise LZWDecoder with early code change false + // because we have no way to generate such an LZW stream. + Pl_LZWDecoder decode("decode", &out, true); + + try + { + unsigned char buf[10000]; + bool done = false; + while (! done) + { + int len = read(0, buf, sizeof(buf)); + if (len <= 0) + { + done = true; + } + else + { + decode.write(buf, len); + } + } + decode.finish(); + } + catch (std::exception& e) + { + std::cerr << e.what() << std::endl; + exit(2); + } + + return 0; +} |