From 088fabd9b9affe14c006e1354892f80c7bbbeebe Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sat, 18 Feb 2023 19:36:24 -0500 Subject: Move most QPDF initializations to header --- include/qpdf/QPDF.hh | 32 ++++++++++++++++---------------- libqpdf/QPDF.cc | 18 +----------------- 2 files changed, 17 insertions(+), 33 deletions(-) diff --git a/include/qpdf/QPDF.hh b/include/qpdf/QPDF.hh index 54af0d17..7fe02f0b 100644 --- a/include/qpdf/QPDF.hh +++ b/include/qpdf/QPDF.hh @@ -1693,14 +1693,14 @@ class QPDF Members(Members const&) = delete; std::shared_ptr log; - unsigned long long unique_id; + unsigned long long unique_id{0}; QPDFTokenizer tokenizer; std::shared_ptr file; std::string last_object_description; - bool provided_password_is_hex_key; - bool ignore_xref_streams; - bool suppress_warnings; - bool attempt_recovery; + bool provided_password_is_hex_key{false}; + bool ignore_xref_streams{false}; + bool suppress_warnings{false}; + bool attempt_recovery{true}; std::shared_ptr encp; std::string pdf_version; std::map xref_table; @@ -1710,24 +1710,24 @@ class QPDF QPDFObjectHandle trailer; std::vector all_pages; std::map pageobj_to_pages_pos; - bool pushed_inherited_attributes_to_pages; - bool ever_pushed_inherited_attributes_to_pages; - bool ever_called_get_all_pages; + bool pushed_inherited_attributes_to_pages{false}; + bool ever_pushed_inherited_attributes_to_pages{false}; + bool ever_called_get_all_pages{false}; std::vector warnings; std::map object_copiers; std::shared_ptr copied_streams; // copied_stream_data_provider is owned by copied_streams - CopiedStreamDataProvider* copied_stream_data_provider; - bool reconstructed_xref; - bool fixed_dangling_refs; - bool immediate_copy_from; - bool in_parse; - bool parsed; + CopiedStreamDataProvider* copied_stream_data_provider{nullptr}; + bool reconstructed_xref{false}; + bool fixed_dangling_refs{false}; + bool immediate_copy_from{false}; + bool in_parse{false}; + bool parsed{false}; std::set resolved_object_streams; // Linearization data - qpdf_offset_t first_xref_item_offset; // actual value from file - bool uncompressed_after_compressed; + qpdf_offset_t first_xref_item_offset{0}; // actual value from file + bool uncompressed_after_compressed{false}; // Linearization parameter dictionary and hint table data: may be // read from file or computed prior to writing a linearized file diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 583a028c..69508b08 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -210,24 +210,8 @@ QPDF::EncryptionParameters::EncryptionParameters() : QPDF::Members::Members() : log(QPDFLogger::defaultLogger()), - unique_id(0), file(new InvalidInputSource()), - provided_password_is_hex_key(false), - ignore_xref_streams(false), - suppress_warnings(false), - attempt_recovery(true), - encp(new EncryptionParameters), - pushed_inherited_attributes_to_pages(false), - ever_pushed_inherited_attributes_to_pages(false), - ever_called_get_all_pages(false), - copied_stream_data_provider(nullptr), - reconstructed_xref(false), - fixed_dangling_refs(false), - immediate_copy_from(false), - in_parse(false), - parsed(false), - first_xref_item_offset(0), - uncompressed_after_compressed(false) + encp(new EncryptionParameters) { } -- cgit v1.2.3-54-g00ecf