Commit 088fabd9b9affe14c006e1354892f80c7bbbeebe

Authored by Jay Berkenbilt
1 parent 3aba1689

Move most QPDF initializations to header

include/qpdf/QPDF.hh
@@ -1693,14 +1693,14 @@ class QPDF @@ -1693,14 +1693,14 @@ class QPDF
1693 Members(Members const&) = delete; 1693 Members(Members const&) = delete;
1694 1694
1695 std::shared_ptr<QPDFLogger> log; 1695 std::shared_ptr<QPDFLogger> log;
1696 - unsigned long long unique_id; 1696 + unsigned long long unique_id{0};
1697 QPDFTokenizer tokenizer; 1697 QPDFTokenizer tokenizer;
1698 std::shared_ptr<InputSource> file; 1698 std::shared_ptr<InputSource> file;
1699 std::string last_object_description; 1699 std::string last_object_description;
1700 - bool provided_password_is_hex_key;  
1701 - bool ignore_xref_streams;  
1702 - bool suppress_warnings;  
1703 - bool attempt_recovery; 1700 + bool provided_password_is_hex_key{false};
  1701 + bool ignore_xref_streams{false};
  1702 + bool suppress_warnings{false};
  1703 + bool attempt_recovery{true};
1704 std::shared_ptr<EncryptionParameters> encp; 1704 std::shared_ptr<EncryptionParameters> encp;
1705 std::string pdf_version; 1705 std::string pdf_version;
1706 std::map<QPDFObjGen, QPDFXRefEntry> xref_table; 1706 std::map<QPDFObjGen, QPDFXRefEntry> xref_table;
@@ -1710,24 +1710,24 @@ class QPDF @@ -1710,24 +1710,24 @@ class QPDF
1710 QPDFObjectHandle trailer; 1710 QPDFObjectHandle trailer;
1711 std::vector<QPDFObjectHandle> all_pages; 1711 std::vector<QPDFObjectHandle> all_pages;
1712 std::map<QPDFObjGen, int> pageobj_to_pages_pos; 1712 std::map<QPDFObjGen, int> pageobj_to_pages_pos;
1713 - bool pushed_inherited_attributes_to_pages;  
1714 - bool ever_pushed_inherited_attributes_to_pages;  
1715 - bool ever_called_get_all_pages; 1713 + bool pushed_inherited_attributes_to_pages{false};
  1714 + bool ever_pushed_inherited_attributes_to_pages{false};
  1715 + bool ever_called_get_all_pages{false};
1716 std::vector<QPDFExc> warnings; 1716 std::vector<QPDFExc> warnings;
1717 std::map<unsigned long long, ObjCopier> object_copiers; 1717 std::map<unsigned long long, ObjCopier> object_copiers;
1718 std::shared_ptr<QPDFObjectHandle::StreamDataProvider> copied_streams; 1718 std::shared_ptr<QPDFObjectHandle::StreamDataProvider> copied_streams;
1719 // copied_stream_data_provider is owned by copied_streams 1719 // copied_stream_data_provider is owned by copied_streams
1720 - CopiedStreamDataProvider* copied_stream_data_provider;  
1721 - bool reconstructed_xref;  
1722 - bool fixed_dangling_refs;  
1723 - bool immediate_copy_from;  
1724 - bool in_parse;  
1725 - bool parsed; 1720 + CopiedStreamDataProvider* copied_stream_data_provider{nullptr};
  1721 + bool reconstructed_xref{false};
  1722 + bool fixed_dangling_refs{false};
  1723 + bool immediate_copy_from{false};
  1724 + bool in_parse{false};
  1725 + bool parsed{false};
1726 std::set<int> resolved_object_streams; 1726 std::set<int> resolved_object_streams;
1727 1727
1728 // Linearization data 1728 // Linearization data
1729 - qpdf_offset_t first_xref_item_offset; // actual value from file  
1730 - bool uncompressed_after_compressed; 1729 + qpdf_offset_t first_xref_item_offset{0}; // actual value from file
  1730 + bool uncompressed_after_compressed{false};
1731 1731
1732 // Linearization parameter dictionary and hint table data: may be 1732 // Linearization parameter dictionary and hint table data: may be
1733 // read from file or computed prior to writing a linearized file 1733 // read from file or computed prior to writing a linearized file
libqpdf/QPDF.cc
@@ -210,24 +210,8 @@ QPDF::EncryptionParameters::EncryptionParameters() : @@ -210,24 +210,8 @@ QPDF::EncryptionParameters::EncryptionParameters() :
210 210
211 QPDF::Members::Members() : 211 QPDF::Members::Members() :
212 log(QPDFLogger::defaultLogger()), 212 log(QPDFLogger::defaultLogger()),
213 - unique_id(0),  
214 file(new InvalidInputSource()), 213 file(new InvalidInputSource()),
215 - provided_password_is_hex_key(false),  
216 - ignore_xref_streams(false),  
217 - suppress_warnings(false),  
218 - attempt_recovery(true),  
219 - encp(new EncryptionParameters),  
220 - pushed_inherited_attributes_to_pages(false),  
221 - ever_pushed_inherited_attributes_to_pages(false),  
222 - ever_called_get_all_pages(false),  
223 - copied_stream_data_provider(nullptr),  
224 - reconstructed_xref(false),  
225 - fixed_dangling_refs(false),  
226 - immediate_copy_from(false),  
227 - in_parse(false),  
228 - parsed(false),  
229 - first_xref_item_offset(0),  
230 - uncompressed_after_compressed(false) 214 + encp(new EncryptionParameters)
231 { 215 {
232 } 216 }
233 217