aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFWriter.cc
AgeCommit message (Collapse)Author
2023-12-20Bug fix: don't compress hint streams when --compress-streams=nJay Berkenbilt
2023-12-20Bug fix: don't compress object/xref streams with --compress-streams=nJay Berkenbilt
2023-11-18Add new method Pl_Buffer::getStringm-holger
2023-06-17Merge pull request #982 from m-holger/cltidyJay Berkenbilt
Apply various Clang-Tidy rules
2023-06-09Code tidy - Clang-Tidy rule modernize-use-equals-defaultm-holger
2023-06-09Remove redundant loop in QPDFWriter::prepareFileForWritem-holger
2023-06-02Fix doc typosm-holger
2023-06-02Code tidy - reflow comments and stringsm-holger
2023-05-21Rerun clang-formatJay Berkenbilt
2023-05-21Globally replace 'this->m->' with 'm->'m-holger
Using search and replace.
2023-05-20Rerun format_code (after merging clang-tidy PR)Jay Berkenbilt
2023-05-20Use auto when initialializing with newm-holger
2023-05-20Replace deprecated C++ includesm-holger
2023-03-21Tune indentations in QPDFWriter::unparseObjectm-holger
Set indent differently for qdf and non-qdf files. Combine with preceding newline for qdf files.
2023-03-17Add new data member QPDFWriter::Members::root_ogm-holger
Also, uninitialize QPDFWriter::Members members.
2023-01-23Tune QPDFWriter::writeString etc methodsm-holger
Use string_view parameters and call pipeline write methods directly.
2023-01-22Tidy QPDFXRefEntry creationm-holger
2023-01-08Refactor QPDFWriter::writePadm-holger
2023-01-08Change QPDFWriter::object_queue to std::vectorm-holger
2023-01-08Tune QPDFWriter::enqueueObjectm-holger
2023-01-07Tune QPDFWriter::unparseObjectm-holger
2022-12-31Refactor QPDFWriter::enqueueObjectm-holger
Move test for m->linearized outside loop.
2022-12-06Alternative fix logic for fixDanglingReferencesm-holger
2022-09-21Replace calls to QUtil::int_to_string with std::to_stringm-holger
2022-09-08Change reset to disconnect and clarify commentsJay Berkenbilt
I decided that it's actually fine to copy a direct object to another QPDF. Even if we eventually prevent a QPDFObject from having multiple parents, this could happen if an object is moved.
2022-09-08Clear owning QPDF information for all objects, not just indirectJay Berkenbilt
2022-08-01Add QPDF::getObject to replace getObjectByObjGen and getObjectByIDm-holger
For consistency with similar methods, e.g. replaceObject.
2022-07-31Merge pull request #734 from m-holger/nullptrJay Berkenbilt
Code tidy : replace 0 with nullptr or true
2022-07-26Code tidy : replace 0 with nullptr or truem-holger
2022-07-24Tweak "AndGet" mutator functions againJay Berkenbilt
Remove any ambiguity around whether old or new value is being returned.
2022-07-24Add optional parameter separator to QPDFObjGen::unparsem-holger
Also, revert inlining of unparse and operator << from commit 4c6640c in order to avoid exposing QUtil.
2022-06-19Move C-based ProgressReporter helper into QPDFWriterJay Berkenbilt
2022-05-21Code clean up: use range-style for loops wherever possiblem-holger
Remove variables obsoleted by commit 4f24617.
2022-05-20Add test for bad data and bad datafileJay Berkenbilt
2022-05-04Make use of the new Pipeline methods in some placesJay Berkenbilt
2022-05-04Make Pipeline::write take an unsigned char const* (API change)Jay Berkenbilt
2022-05-04Make assert handling less error-proneJay Berkenbilt
Prevent my future self or other contributors from using assert in tests and then having that assert not do anything because of the NDEBUG macro.
2022-05-04Remove remaining incorrect assert calls from implementationJay Berkenbilt
2022-04-30Mark weak encryption with API changes (fixes #576)Jay Berkenbilt
2022-04-30Remove deprecated (pre-8.4.0) encryption APIsJay Berkenbilt
2022-04-30Code clean up: use range-style for loops wherever possibleJay Berkenbilt
Where not possible, use "auto" to get the iterator type. Editorial note: I have avoid this change for a long time because of not wanting to make gratuitous changes to version history, which can obscure when certain changes were made, but with having recently touched every single file to apply automatic code formatting and with making several broad changes to the API, I decided it was time to take the plunge and get rid of the older (pre-C++11) verbose iterator syntax. The new code is just easier to read and understand, and in many cases, it will be more effecient as fewer temporary copies are being made. m-holger, if you're reading, you can see that I've finally come around. :-)
2022-04-30Formatting: remove space in range-style for loopsJay Berkenbilt
Change .clang-format and commit automated changes from a fresh run of format-code
2022-04-30Use replaceKeyAndGet in a few places in existing codeJay Berkenbilt
2022-04-16Use = default and = delete where possible in classesJay Berkenbilt
2022-04-09Replace PointerHolder with std::shared_ptr in library sources onlyJay Berkenbilt
(patrepl and cleanpatch are my own utilities) patrepl s/PointerHolder/std::shared_ptr/g {include,libqpdf}/qpdf/*.hh patrepl s/PointerHolder/std::shared_ptr/g libqpdf/*.cc patrepl s/make_pointer_holder/std::make_shared/g libqpdf/*.cc patrepl s/make_array_pointer_holder/QUtil::make_shared_array/g libqpdf/*.cc patrepl s,qpdf/std::shared_ptr,qpdf/PointerHolder, **/*.cc **/*.hh git restore include/qpdf/PointerHolder.hh cleanpatch ./format-code
2022-04-04Programmatically apply new formatting to codeJay Berkenbilt
Run this: for i in **/*.cc **/*.c **/*.h **/*.hh; do clang-format < $i >| $i.new && mv $i.new $i done
2022-02-08Preserve input PDF version on pages/split-pages (fixes #610)Jay Berkenbilt
2022-02-08WHITESPACE ONLY -- expand tabs in source codeJay Berkenbilt
This comment expands all tabs using an 8-character tab-width. You should ignore this commit when using git blame or use git blame -w. In the early days, I used to use tabs where possible for indentation, since emacs did this automatically. In recent years, I have switched to only using spaces, which means qpdf source code has been a mixture of spaces and tabs. I have avoided cleaning this up because of not wanting gratuitous whitespaces change to cloud the output of git blame, but I changed my mind after discussing with users who view qpdf source code in editors/IDEs that have other tab widths by default and in light of the fact that I am planning to start applying automatic code formatting soon.
2022-02-07Update for clean compile with POINTERHOLDER_TRANSITION=2Jay Berkenbilt
2022-02-07Add getBufferSharedPointer() to Pl_Buffer and QPDFWriterJay Berkenbilt