Commit 3df4ce6d1a825e2807583a62d164e1613bee848c

Authored by m-holger
1 parent da14ab4d

Initialize QPDF::JSONReactor data members

Showing 1 changed file with 27 additions and 46 deletions
libqpdf/QPDF_json.cc
@@ -226,7 +226,15 @@ provide_data( @@ -226,7 +226,15 @@ provide_data(
226 class QPDF::JSONReactor: public JSON::Reactor 226 class QPDF::JSONReactor: public JSON::Reactor
227 { 227 {
228 public: 228 public:
229 - JSONReactor(QPDF&, std::shared_ptr<InputSource> is, bool must_be_complete); 229 + JSONReactor(
  230 + QPDF& pdf, std::shared_ptr<InputSource> is, bool must_be_complete) :
  231 + pdf(pdf),
  232 + is(is),
  233 + must_be_complete(must_be_complete),
  234 + descr(std::make_shared<QPDFValue::Description>(QPDFValue::JSON_Descr(
  235 + std::make_shared<std::string>(is->getName()), "")))
  236 + {
  237 + }
230 virtual ~JSONReactor() = default; 238 virtual ~JSONReactor() = default;
231 virtual void dictionaryStart() override; 239 virtual void dictionaryStart() override;
232 virtual void arrayStart() override; 240 virtual void arrayStart() override;
@@ -265,57 +273,30 @@ class QPDF::JSONReactor: public JSON::Reactor @@ -265,57 +273,30 @@ class QPDF::JSONReactor: public JSON::Reactor
265 273
266 QPDF& pdf; 274 QPDF& pdf;
267 std::shared_ptr<InputSource> is; 275 std::shared_ptr<InputSource> is;
268 - bool must_be_complete; 276 + bool must_be_complete{true};
269 std::shared_ptr<QPDFValue::Description> descr; 277 std::shared_ptr<QPDFValue::Description> descr;
270 - bool errors;  
271 - bool parse_error;  
272 - bool saw_qpdf;  
273 - bool saw_qpdf_meta;  
274 - bool saw_objects;  
275 - bool saw_json_version;  
276 - bool saw_pdf_version;  
277 - bool saw_trailer;  
278 - state_e state;  
279 - state_e next_state; 278 + bool errors{false};
  279 + bool parse_error{false};
  280 + bool saw_qpdf{false};
  281 + bool saw_qpdf_meta{false};
  282 + bool saw_objects{false};
  283 + bool saw_json_version{false};
  284 + bool saw_pdf_version{false};
  285 + bool saw_trailer{false};
  286 + state_e state{st_initial};
  287 + state_e next_state{st_top};
280 std::string cur_object; 288 std::string cur_object;
281 - bool saw_value;  
282 - bool saw_stream;  
283 - bool saw_dict;  
284 - bool saw_data;  
285 - bool saw_datafile;  
286 - bool this_stream_needs_data;  
287 - std::vector<state_e> state_stack; 289 + bool saw_value{false};
  290 + bool saw_stream{false};
  291 + bool saw_dict{false};
  292 + bool saw_data{false};
  293 + bool saw_datafile{false};
  294 + bool this_stream_needs_data{false};
  295 + std::vector<state_e> state_stack{st_initial};
288 std::vector<QPDFObjectHandle> object_stack; 296 std::vector<QPDFObjectHandle> object_stack;
289 std::set<QPDFObjGen> reserved; 297 std::set<QPDFObjGen> reserved;
290 }; 298 };
291 299
292 -QPDF::JSONReactor::JSONReactor(  
293 - QPDF& pdf, std::shared_ptr<InputSource> is, bool must_be_complete) :  
294 - pdf(pdf),  
295 - is(is),  
296 - must_be_complete(must_be_complete),  
297 - descr(std::make_shared<QPDFValue::Description>(QPDFValue::JSON_Descr(  
298 - std::make_shared<std::string>(is->getName()), ""))),  
299 - errors(false),  
300 - parse_error(false),  
301 - saw_qpdf(false),  
302 - saw_qpdf_meta(false),  
303 - saw_objects(false),  
304 - saw_json_version(false),  
305 - saw_pdf_version(false),  
306 - saw_trailer(false),  
307 - state(st_initial),  
308 - next_state(st_top),  
309 - saw_value(false),  
310 - saw_stream(false),  
311 - saw_dict(false),  
312 - saw_data(false),  
313 - saw_datafile(false),  
314 - this_stream_needs_data(false)  
315 -{  
316 - state_stack.push_back(st_initial);  
317 -}  
318 -  
319 void 300 void
320 QPDF::JSONReactor::error(qpdf_offset_t offset, std::string const& msg) 301 QPDF::JSONReactor::error(qpdf_offset_t offset, std::string const& msg)
321 { 302 {