diff --git a/examples/pdf-custom-filter.cc b/examples/pdf-custom-filter.cc index e3cdf16..1a8f14e 100644 --- a/examples/pdf-custom-filter.cc +++ b/examples/pdf-custom-filter.cc @@ -179,7 +179,7 @@ class StreamReplacer: public QPDFObjectHandle::StreamDataProvider private: bool maybeReplace( - QPDFObjGen const& og, + QPDFObjGen og, QPDFObjectHandle& stream, Pipeline* pipeline, QPDFObjectHandle* dict_updates); @@ -204,10 +204,7 @@ StreamReplacer::StreamReplacer(QPDF* pdf) : bool StreamReplacer::maybeReplace( - QPDFObjGen const& og, - QPDFObjectHandle& stream, - Pipeline* pipeline, - QPDFObjectHandle* dict_updates) + QPDFObjGen og, QPDFObjectHandle& stream, Pipeline* pipeline, QPDFObjectHandle* dict_updates) { // As described in the class comments, this method is called twice. Before writing has started // pipeline is nullptr, and dict_updates is provided. In this mode, we figure out whether we diff --git a/include/qpdf/QPDF.hh b/include/qpdf/QPDF.hh index 6353522..0e79967 100644 --- a/include/qpdf/QPDF.hh +++ b/include/qpdf/QPDF.hh @@ -367,13 +367,13 @@ class QPDF // Retrieve an object by object ID and generation. Returns an indirect reference to it. The // getObject() methods were added for qpdf 11. QPDF_DLL - QPDFObjectHandle getObject(QPDFObjGen const&); + QPDFObjectHandle getObject(QPDFObjGen); QPDF_DLL QPDFObjectHandle getObject(int objid, int generation); // These are older methods, but there is no intention to deprecate // them. QPDF_DLL - QPDFObjectHandle getObjectByObjGen(QPDFObjGen const&); + QPDFObjectHandle getObjectByObjGen(QPDFObjGen); QPDF_DLL QPDFObjectHandle getObjectByID(int objid, int generation); @@ -387,14 +387,14 @@ class QPDF // object is treated as a null object. To replace a reserved object, call replaceReserved // instead. QPDF_DLL - void replaceObject(QPDFObjGen const& og, QPDFObjectHandle); + void replaceObject(QPDFObjGen og, QPDFObjectHandle); QPDF_DLL void replaceObject(int objid, int generation, QPDFObjectHandle); // Swap two objects given by ID. Prior to qpdf 10.2.1, existing QPDFObjectHandle instances that // reference them objects not notice the swap, but this was fixed in 10.2.1. QPDF_DLL - void swapObjects(QPDFObjGen const& og1, QPDFObjGen const& og2); + void swapObjects(QPDFObjGen og1, QPDFObjGen og2); QPDF_DLL void swapObjects(int objid1, int generation1, int objid2, int generation2); @@ -694,7 +694,7 @@ class QPDF // into the array returned by getAllPages() for that page. An exception is thrown if the page is // not found. QPDF_DLL - int findPage(QPDFObjGen const& og); + int findPage(QPDFObjGen og); QPDF_DLL int findPage(QPDFObjectHandle& page); @@ -859,7 +859,7 @@ class QPDF static bool pipeStreamData( QPDF* qpdf, - QPDFObjGen const& og, + QPDFObjGen og, qpdf_offset_t offset, size_t length, QPDFObjectHandle dict, @@ -964,7 +964,7 @@ class QPDF ForeignStreamData( std::shared_ptr encp, std::shared_ptr file, - QPDFObjGen const& foreign_og, + QPDFObjGen foreign_og, qpdf_offset_t offset, size_t length, QPDFObjectHandle local_dict); @@ -1002,7 +1002,7 @@ class QPDF friend class QPDF; public: - StringDecrypter(QPDF* qpdf, QPDFObjGen const& og); + StringDecrypter(QPDF* qpdf, QPDFObjGen og); ~StringDecrypter() override = default; void decryptString(std::string& val) override; @@ -1014,7 +1014,7 @@ class QPDF class ResolveRecorder { public: - ResolveRecorder(QPDF* qpdf, QPDFObjGen const& og) : + ResolveRecorder(QPDF* qpdf, QPDFObjGen og) : qpdf(qpdf), iter(qpdf->m->resolving.insert(og).first) { @@ -1054,14 +1054,14 @@ class QPDF void insertXrefEntry(int obj, int f0, qpdf_offset_t f1, int f2); void insertFreeXrefEntry(QPDFObjGen); void insertReconstructedXrefEntry(int obj, qpdf_offset_t f1, int f2); - void setLastObjectDescription(std::string const& description, QPDFObjGen const& og); + void setLastObjectDescription(std::string const& description, QPDFObjGen og); QPDFObjectHandle readTrailer(); QPDFObjectHandle readObject(std::string const& description, QPDFObjGen og); void readStream(QPDFObjectHandle& object, QPDFObjGen og, qpdf_offset_t offset); void validateStreamLineEnd(QPDFObjectHandle& object, QPDFObjGen og, qpdf_offset_t offset); QPDFObjectHandle readObjectInStream(std::shared_ptr& input, int obj); size_t recoverStreamLength( - std::shared_ptr input, QPDFObjGen const& og, qpdf_offset_t stream_offset); + std::shared_ptr input, QPDFObjGen og, qpdf_offset_t stream_offset); QPDFTokenizer::Token readToken(InputSource&, size_t max_len = 0); QPDFObjectHandle readObjectAtOffset( @@ -1075,15 +1075,15 @@ class QPDF void resolveObjectsInStream(int obj_stream_number); void stopOnError(std::string const& message); QPDFObjGen nextObjGen(); - QPDFObjectHandle newIndirect(QPDFObjGen const&, std::shared_ptr const&); + QPDFObjectHandle newIndirect(QPDFObjGen, std::shared_ptr const&); QPDFObjectHandle makeIndirectFromQPDFObject(std::shared_ptr const& obj); - bool isCached(QPDFObjGen const& og); - bool isUnresolved(QPDFObjGen const& og); + bool isCached(QPDFObjGen og); + bool isUnresolved(QPDFObjGen og); std::shared_ptr getObjectForParser(int id, int gen, bool parse_pdf); std::shared_ptr getObjectForJSON(int id, int gen); void removeObject(QPDFObjGen og); void updateCache( - QPDFObjGen const& og, + QPDFObjGen og, std::shared_ptr const& object, qpdf_offset_t end_before_space, qpdf_offset_t end_after_space); @@ -1100,7 +1100,7 @@ class QPDF // Calls finish() on the pipeline when done but does not delete it bool pipeStreamData( - QPDFObjGen const& og, + QPDFObjGen og, qpdf_offset_t offset, size_t length, QPDFObjectHandle dict, @@ -1113,7 +1113,7 @@ class QPDF std::shared_ptr encp, std::shared_ptr file, QPDF& qpdf_for_warning, - QPDFObjGen const& og, + QPDFObjGen og, qpdf_offset_t offset, size_t length, QPDFObjectHandle dict, @@ -1174,8 +1174,8 @@ class QPDF interpretCF(std::shared_ptr encp, QPDFObjectHandle); void initializeEncryption(); static std::string - getKeyForObject(std::shared_ptr encp, QPDFObjGen const& og, bool use_aes); - void decryptString(std::string&, QPDFObjGen const& og); + getKeyForObject(std::shared_ptr encp, QPDFObjGen og, bool use_aes); + void decryptString(std::string&, QPDFObjGen og); static std::string compute_encryption_key_from_password(std::string const& password, EncryptionData const& data); static std::string @@ -1187,7 +1187,7 @@ class QPDF std::shared_ptr file, QPDF& qpdf_for_warning, Pipeline*& pipeline, - QPDFObjGen const& og, + QPDFObjGen og, QPDFObjectHandle& stream_dict, std::unique_ptr& heap); @@ -1408,7 +1408,7 @@ class QPDF void readHSharedObject(BitStream); void readHGeneric(BitStream, HGeneric&); qpdf_offset_t maxEnd(ObjUser const& ou); - qpdf_offset_t getLinearizationOffset(QPDFObjGen const&); + qpdf_offset_t getLinearizationOffset(QPDFObjGen); QPDFObjectHandle getUncompressedObject(QPDFObjectHandle&, std::map const& object_stream_data); QPDFObjectHandle getUncompressedObject(QPDFObjectHandle&, QPDFWriter::ObjTable const& obj); diff --git a/include/qpdf/QPDFOutlineDocumentHelper.hh b/include/qpdf/QPDFOutlineDocumentHelper.hh index c3c3f5e..1f152d5 100644 --- a/include/qpdf/QPDFOutlineDocumentHelper.hh +++ b/include/qpdf/QPDFOutlineDocumentHelper.hh @@ -58,16 +58,14 @@ class QPDFOutlineDocumentHelper: public QPDFDocumentHelper // Return a list outlines that are known to target the specified page. QPDF_DLL - std::vector getOutlinesForPage(QPDFObjGen const&); + std::vector getOutlinesForPage(QPDFObjGen); class Accessor { friend class QPDFOutlineObjectHelper; - // ABI: remove QPDF_DLL and pass og by value. - QPDF_DLL static bool - checkSeen(QPDFOutlineDocumentHelper& dh, QPDFObjGen const& og) + checkSeen(QPDFOutlineDocumentHelper& dh, QPDFObjGen og) { return !dh.m->seen.add(og); } diff --git a/include/qpdf/QPDFWriter.hh b/include/qpdf/QPDFWriter.hh index 0cde221..6b79a7f 100644 --- a/include/qpdf/QPDFWriter.hh +++ b/include/qpdf/QPDFWriter.hh @@ -485,7 +485,7 @@ class QPDFWriter void writeStringQDF(std::string_view str); void writeStringNoQDF(std::string_view str); void writePad(size_t nspaces); - void assignCompressedObjectNumbers(QPDFObjGen const& og); + void assignCompressedObjectNumbers(QPDFObjGen og); void enqueueObject(QPDFObjectHandle object); void writeObjectStreamOffsets(std::vector& offsets, int first_obj); void writeObjectStream(QPDFObjectHandle object); diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 70bdf62..60303d1 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -112,7 +112,7 @@ namespace QPDF::ForeignStreamData::ForeignStreamData( std::shared_ptr encp, std::shared_ptr file, - QPDFObjGen const& foreign_og, + QPDFObjGen foreign_og, qpdf_offset_t offset, size_t length, QPDFObjectHandle local_dict) : @@ -164,7 +164,7 @@ QPDF::CopiedStreamDataProvider::registerForeignStream( this->foreign_stream_data[local_og] = foreign_stream; } -QPDF::StringDecrypter::StringDecrypter(QPDF* qpdf, QPDFObjGen const& og) : +QPDF::StringDecrypter::StringDecrypter(QPDF* qpdf, QPDFObjGen og) : qpdf(qpdf), og(og) { @@ -1463,7 +1463,7 @@ QPDF::getAllObjects() } void -QPDF::setLastObjectDescription(std::string const& description, QPDFObjGen const& og) +QPDF::setLastObjectDescription(std::string const& description, QPDFObjGen og) { m->last_object_description.clear(); if (!description.empty()) { @@ -1650,7 +1650,7 @@ QPDF::findEndstream() size_t QPDF::recoverStreamLength( - std::shared_ptr input, QPDFObjGen const& og, qpdf_offset_t stream_offset) + std::shared_ptr input, QPDFObjGen og, qpdf_offset_t stream_offset) { // Try to reconstruct stream length by looking for endstream or endobj warn(damagedPDF(*input, stream_offset, "attempting to recover stream length")); @@ -2023,7 +2023,7 @@ QPDF::resolveObjectsInStream(int obj_stream_number) } QPDFObjectHandle -QPDF::newIndirect(QPDFObjGen const& og, std::shared_ptr const& obj) +QPDF::newIndirect(QPDFObjGen og, std::shared_ptr const& obj) { obj->setDefaultDescription(this, og); return {obj}; @@ -2031,7 +2031,7 @@ QPDF::newIndirect(QPDFObjGen const& og, std::shared_ptr const& obj) void QPDF::updateCache( - QPDFObjGen const& og, + QPDFObjGen og, std::shared_ptr const& object, qpdf_offset_t end_before_space, qpdf_offset_t end_after_space) @@ -2048,13 +2048,13 @@ QPDF::updateCache( } bool -QPDF::isCached(QPDFObjGen const& og) +QPDF::isCached(QPDFObjGen og) { return m->obj_cache.count(og) != 0; } bool -QPDF::isUnresolved(QPDFObjGen const& og) +QPDF::isUnresolved(QPDFObjGen og) { return !isCached(og) || m->obj_cache[og].object->isUnresolved(); } @@ -2152,7 +2152,7 @@ QPDF::getObjectForJSON(int id, int gen) } QPDFObjectHandle -QPDF::getObject(QPDFObjGen const& og) +QPDF::getObject(QPDFObjGen og) { if (auto it = m->obj_cache.find(og); it != m->obj_cache.end()) { return {it->second.object}; @@ -2171,7 +2171,7 @@ QPDF::getObject(int objid, int generation) } QPDFObjectHandle -QPDF::getObjectByObjGen(QPDFObjGen const& og) +QPDF::getObjectByObjGen(QPDFObjGen og) { return getObject(og); } @@ -2189,7 +2189,7 @@ QPDF::replaceObject(int objid, int generation, QPDFObjectHandle oh) } void -QPDF::replaceObject(QPDFObjGen const& og, QPDFObjectHandle oh) +QPDF::replaceObject(QPDFObjGen og, QPDFObjectHandle oh) { if (!oh || (oh.isIndirect() && !(oh.isStream() && oh.getObjGen() == og))) { QTC::TC("qpdf", "QPDF replaceObject called with indirect object"); @@ -2493,7 +2493,7 @@ QPDF::swapObjects(int objid1, int generation1, int objid2, int generation2) } void -QPDF::swapObjects(QPDFObjGen const& og1, QPDFObjGen const& og2) +QPDF::swapObjects(QPDFObjGen og1, QPDFObjGen og2) { // Force objects to be read from the input source if needed, then swap them in the cache. resolve(og1); @@ -2727,7 +2727,7 @@ QPDF::pipeStreamData( std::shared_ptr encp, std::shared_ptr file, QPDF& qpdf_for_warning, - QPDFObjGen const& og, + QPDFObjGen og, qpdf_offset_t offset, size_t length, QPDFObjectHandle stream_dict, @@ -2789,7 +2789,7 @@ QPDF::pipeStreamData( bool QPDF::pipeStreamData( - QPDFObjGen const& og, + QPDFObjGen og, qpdf_offset_t offset, size_t length, QPDFObjectHandle stream_dict, diff --git a/libqpdf/QPDFOutlineDocumentHelper.cc b/libqpdf/QPDFOutlineDocumentHelper.cc index 51783b1..9028cd3 100644 --- a/libqpdf/QPDFOutlineDocumentHelper.cc +++ b/libqpdf/QPDFOutlineDocumentHelper.cc @@ -50,7 +50,7 @@ QPDFOutlineDocumentHelper::initializeByPage() } std::vector -QPDFOutlineDocumentHelper::getOutlinesForPage(QPDFObjGen const& og) +QPDFOutlineDocumentHelper::getOutlinesForPage(QPDFObjGen og) { if (m->by_page.empty()) { initializeByPage(); diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index 6652a40..d0d9159 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -1058,7 +1058,7 @@ QPDFWriter::closeObject(int objid) } void -QPDFWriter::assignCompressedObjectNumbers(QPDFObjGen const& og) +QPDFWriter::assignCompressedObjectNumbers(QPDFObjGen og) { int objid = og.getObj(); if ((og.getGen() != 0) || (m->object_stream_to_objects.count(objid) == 0)) { diff --git a/libqpdf/QPDF_Unresolved.cc b/libqpdf/QPDF_Unresolved.cc index a322e57..ae0c6a6 100644 --- a/libqpdf/QPDF_Unresolved.cc +++ b/libqpdf/QPDF_Unresolved.cc @@ -3,13 +3,13 @@ #include #include -QPDF_Unresolved::QPDF_Unresolved(QPDF* qpdf, QPDFObjGen const& og) : +QPDF_Unresolved::QPDF_Unresolved(QPDF* qpdf, QPDFObjGen og) : QPDFValue(::ot_unresolved, qpdf, og) { } std::shared_ptr -QPDF_Unresolved::create(QPDF* qpdf, QPDFObjGen const& og) +QPDF_Unresolved::create(QPDF* qpdf, QPDFObjGen og) { return do_create(new QPDF_Unresolved(qpdf, og)); } diff --git a/libqpdf/QPDF_encryption.cc b/libqpdf/QPDF_encryption.cc index 952b860..9f39345 100644 --- a/libqpdf/QPDF_encryption.cc +++ b/libqpdf/QPDF_encryption.cc @@ -952,8 +952,7 @@ QPDF::initializeEncryption() } std::string -QPDF::getKeyForObject( - std::shared_ptr encp, QPDFObjGen const& og, bool use_aes) +QPDF::getKeyForObject(std::shared_ptr encp, QPDFObjGen og, bool use_aes) { if (!encp->encrypted) { throw std::logic_error("request for encryption key in non-encrypted PDF"); @@ -974,7 +973,7 @@ QPDF::getKeyForObject( } void -QPDF::decryptString(std::string& str, QPDFObjGen const& og) +QPDF::decryptString(std::string& str, QPDFObjGen og) { if (!og.isIndirect()) { return; @@ -1048,7 +1047,7 @@ QPDF::decryptStream( std::shared_ptr file, QPDF& qpdf_for_warning, Pipeline*& pipeline, - QPDFObjGen const& og, + QPDFObjGen og, QPDFObjectHandle& stream_dict, std::unique_ptr& decrypt_pipeline) { diff --git a/libqpdf/QPDF_linearization.cc b/libqpdf/QPDF_linearization.cc index 907734a..703617a 100644 --- a/libqpdf/QPDF_linearization.cc +++ b/libqpdf/QPDF_linearization.cc @@ -557,7 +557,7 @@ QPDF::maxEnd(ObjUser const& ou) } qpdf_offset_t -QPDF::getLinearizationOffset(QPDFObjGen const& og) +QPDF::getLinearizationOffset(QPDFObjGen og) { QPDFXRefEntry entry = m->xref_table[og]; qpdf_offset_t result = 0; diff --git a/libqpdf/QPDF_pages.cc b/libqpdf/QPDF_pages.cc index d64b08f..aa90f7f 100644 --- a/libqpdf/QPDF_pages.cc +++ b/libqpdf/QPDF_pages.cc @@ -323,7 +323,7 @@ QPDF::findPage(QPDFObjectHandle& page) } int -QPDF::findPage(QPDFObjGen const& og) +QPDF::findPage(QPDFObjGen og) { flattenPagesTree(); auto it = m->pageobj_to_pages_pos.find(og); diff --git a/libqpdf/qpdf/QPDFObject_private.hh b/libqpdf/qpdf/QPDFObject_private.hh index f323d95..d3f3821 100644 --- a/libqpdf/qpdf/QPDFObject_private.hh +++ b/libqpdf/qpdf/QPDFObject_private.hh @@ -132,13 +132,13 @@ class QPDFObject } void - setDefaultDescription(QPDF* qpdf, QPDFObjGen const& og) + setDefaultDescription(QPDF* qpdf, QPDFObjGen og) { // Intended for use by the QPDF class value->setDefaultDescription(qpdf, og); } void - setObjGen(QPDF* qpdf, QPDFObjGen const& og) + setObjGen(QPDF* qpdf, QPDFObjGen og) { value->qpdf = qpdf; value->og = og; diff --git a/libqpdf/qpdf/QPDFValue.hh b/libqpdf/qpdf/QPDFValue.hh index c2fc748..b247093 100644 --- a/libqpdf/qpdf/QPDFValue.hh +++ b/libqpdf/qpdf/QPDFValue.hh @@ -65,7 +65,7 @@ class QPDFValue: public std::enable_shared_from_this setParsedOffset(offset); } void - setDefaultDescription(QPDF* a_qpdf, QPDFObjGen const& a_og) + setDefaultDescription(QPDF* a_qpdf, QPDFObjGen a_og) { qpdf = a_qpdf; og = a_og; diff --git a/libqpdf/qpdf/QPDF_Unresolved.hh b/libqpdf/qpdf/QPDF_Unresolved.hh index df443d3..bcd5a63 100644 --- a/libqpdf/qpdf/QPDF_Unresolved.hh +++ b/libqpdf/qpdf/QPDF_Unresolved.hh @@ -7,14 +7,14 @@ class QPDF_Unresolved: public QPDFValue { public: ~QPDF_Unresolved() override = default; - static std::shared_ptr create(QPDF* qpdf, QPDFObjGen const& og); + static std::shared_ptr create(QPDF* qpdf, QPDFObjGen og); std::shared_ptr copy(bool shallow = false) override; std::string unparse() override; void writeJSON(int json_version, JSON::Writer& p) override; std::string getStringValue() const override; private: - QPDF_Unresolved(QPDF* qpdf, QPDFObjGen const& og); + QPDF_Unresolved(QPDF* qpdf, QPDFObjGen og); }; #endif // QPDF_UNRESOLVED_HH