aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
diff options
context:
space:
mode:
authorMasamichi Hosoda <trueroad@trueroad.jp>2019-09-28 15:07:00 +0200
committerJay Berkenbilt <ejb@ql.org>2019-10-22 22:16:16 +0200
commit46ac3e21b362a8d5c7fd45c9c0384a52fc86fb9e (patch)
tree08a0ae7867a5db4ea9a7657eb115455185152f05 /libqpdf
parent06b818dcd39b5aeaeeee5c247483633a02a0222e (diff)
downloadqpdf-46ac3e21b362a8d5c7fd45c9c0384a52fc86fb9e.tar.zst
Add QPDF::getXRefTable()
Diffstat (limited to 'libqpdf')
-rw-r--r--libqpdf/QPDF.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc
index 6c0c700a..864ac2d5 100644
--- a/libqpdf/QPDF.cc
+++ b/libqpdf/QPDF.cc
@@ -155,6 +155,7 @@ QPDF::Members::Members() :
fixed_dangling_refs(false),
immediate_copy_from(false),
in_parse(false),
+ parsed(false),
first_xref_item_offset(0),
uncompressed_after_compressed(false)
{
@@ -431,6 +432,7 @@ QPDF::parse(char const* password)
initializeEncryption();
findAttachmentStreams();
+ this->m->parsed = true;
}
void
@@ -2620,6 +2622,17 @@ QPDF::getRoot()
return root;
}
+std::map<QPDFObjGen, QPDFXRefEntry>
+QPDF::getXRefTable()
+{
+ if (! this->m->parsed)
+ {
+ throw std::logic_error("QPDF::getXRefTable called before parsing.");
+ }
+
+ return this->m->xref_table;
+}
+
void
QPDF::getObjectStreamData(std::map<int, int>& omap)
{