Commit 7cc1e08de95015b3dd460029a9e746cb6eeaf60f

Authored by m-holger
1 parent 68d10931

In QPDFWriter::writeLinearized use Pl_String instead of Pl_Buffer

Showing 1 changed file with 6 additions and 6 deletions
libqpdf/QPDFWriter.cc
... ... @@ -2684,14 +2684,14 @@ QPDFWriter::writeLinearized()
2684 2684 }
2685 2685  
2686 2686 qpdf_offset_t hint_length = 0;
2687   - std::shared_ptr<Buffer> hint_buffer;
  2687 + std::string hint_buffer;
2688 2688  
2689 2689 // Write file in two passes. Part numbers refer to PDF spec 1.4.
2690 2690  
2691 2691 FILE* lin_pass1_file = nullptr;
2692 2692 auto pp_pass1 = std::make_shared<PipelinePopper>(this);
2693 2693 auto pp_md5 = std::make_shared<PipelinePopper>(this);
2694   - for (int pass = 1; pass <= 2; ++pass) {
  2694 + for (int pass: {1, 2}) {
2695 2695 if (pass == 1) {
2696 2696 if (!m->lin_pass1_filename.empty()) {
2697 2697 lin_pass1_file = QUtil::safe_fopen(m->lin_pass1_filename.c_str(), "wb");
... ... @@ -2828,7 +2828,7 @@ QPDFWriter::writeLinearized()
2828 2828 m->new_obj[hint_id].xref = QPDFXRefEntry(m->pipeline->getCount());
2829 2829 } else {
2830 2830 // Part 5: hint stream
2831   - writeBuffer(hint_buffer);
  2831 + writeString(hint_buffer);
2832 2832 }
2833 2833 }
2834 2834 if (cur_object.getObjectID() == part6_end_marker) {
... ... @@ -2902,12 +2902,12 @@ QPDFWriter::writeLinearized()
2902 2902  
2903 2903 // Write hint stream to a buffer
2904 2904 {
2905   - pushPipeline(new Pl_Buffer("hint buffer"));
2906   - PipelinePopper pp_hint(this, &hint_buffer);
  2905 + pushPipeline(new Pl_String("hint buffer", nullptr, hint_buffer));
  2906 + PipelinePopper pp_hint(this);
2907 2907 activatePipelineStack(pp_hint);
2908 2908 writeHintStream(hint_id);
2909 2909 }
2910   - hint_length = QIntC::to_offset(hint_buffer->getSize());
  2910 + hint_length = QIntC::to_offset(hint_buffer.size());
2911 2911  
2912 2912 // Restore hint offset
2913 2913 m->new_obj[hint_id].xref = QPDFXRefEntry(hint_offset1);
... ...