Commit 7604ac5cb2a4756337ed562d2e3284de3e6a8159
1 parent
2a92b1b0
QPDFJob: have doJSON write to a pipeline
Showing
2 changed files
with
8 additions
and
4 deletions
include/qpdf/QPDFJob.hh
| ... | ... | @@ -39,6 +39,7 @@ |
| 39 | 39 | #include <vector> |
| 40 | 40 | |
| 41 | 41 | class QPDFWriter; |
| 42 | +class Pipeline; | |
| 42 | 43 | |
| 43 | 44 | class QPDFJob |
| 44 | 45 | { |
| ... | ... | @@ -509,7 +510,7 @@ class QPDFJob |
| 509 | 510 | void writeOutfile(QPDF& pdf); |
| 510 | 511 | |
| 511 | 512 | // JSON |
| 512 | - void doJSON(QPDF& pdf); | |
| 513 | + void doJSON(QPDF& pdf, Pipeline*); | |
| 513 | 514 | std::set<QPDFObjGen> getWantedJSONObjects(); |
| 514 | 515 | void doJSONObjects(QPDF& pdf, JSON& j); |
| 515 | 516 | void doJSONObjectinfo(QPDF& pdf, JSON& j); | ... | ... |
libqpdf/QPDFJob.cc
| ... | ... | @@ -14,6 +14,7 @@ |
| 14 | 14 | #include <qpdf/Pl_DCT.hh> |
| 15 | 15 | #include <qpdf/Pl_Discard.hh> |
| 16 | 16 | #include <qpdf/Pl_Flate.hh> |
| 17 | +#include <qpdf/Pl_OStream.hh> | |
| 17 | 18 | #include <qpdf/Pl_StdioFile.hh> |
| 18 | 19 | #include <qpdf/QTC.hh> |
| 19 | 20 | #include <qpdf/QUtil.hh> |
| ... | ... | @@ -1588,7 +1589,7 @@ QPDFJob::json_out_schema_v1() |
| 1588 | 1589 | } |
| 1589 | 1590 | |
| 1590 | 1591 | void |
| 1591 | -QPDFJob::doJSON(QPDF& pdf) | |
| 1592 | +QPDFJob::doJSON(QPDF& pdf, Pipeline* p) | |
| 1592 | 1593 | { |
| 1593 | 1594 | JSON j = JSON::makeDictionary(); |
| 1594 | 1595 | // This version is updated every time a non-backward-compatible |
| ... | ... | @@ -1665,7 +1666,7 @@ ideally with the file that caused the error and the output below. Thanks!\n\ |
| 1665 | 1666 | } |
| 1666 | 1667 | } |
| 1667 | 1668 | |
| 1668 | - *(this->m->cout) << j.unparse() << std::endl; | |
| 1669 | + *p << j.unparse() << "\n"; | |
| 1669 | 1670 | } |
| 1670 | 1671 | |
| 1671 | 1672 | void |
| ... | ... | @@ -1675,7 +1676,9 @@ QPDFJob::doInspection(QPDF& pdf) |
| 1675 | 1676 | doCheck(pdf); |
| 1676 | 1677 | } |
| 1677 | 1678 | if (m->json_version) { |
| 1678 | - doJSON(pdf); | |
| 1679 | + Pl_OStream os("stdout", *(this->m->cout)); | |
| 1680 | + doJSON(pdf, &os); | |
| 1681 | + os.finish(); | |
| 1679 | 1682 | } |
| 1680 | 1683 | if (m->show_npages) { |
| 1681 | 1684 | QTC::TC("qpdf", "QPDFJob npages"); | ... | ... |