-
Remove any ambiguity around whether old or new value is being returned.
-
Also, change test for QPDFObjGen::isIndirect to obj != 0. Delete comment from commit afd35f9.
-
Use 'QPDFObjGen const&' instead of 'int, int' in signature.
-
Change method signature to use QPDFObjGen.
-
Also, revert inlining of unparse and operator << from commit 4c6640c in order to avoid exposing QUtil.
-
Move responsibility for creating shared pointers to objects and cloning from QPDFObjectHandle to QPDFObject.
-
Also, use methods to access objid and generation.
-
When there is no context for writing output or error messages, use the default logger.
-
These mean to leave the original values alone. This is needed for reconstructing streams from JSON given that the stream data and stream dictionary may appear in any order in the JSON.
-
I decided these were confusing and inconsistent with how JSON works. They muddle the API rather than improving it.
-
Not fully exercised in this commit
-
Update getJSON() methods and calls to them
-
This reverts commit dc059560e73e0b373a6e54e71b07e3af4b692cb4. I changed my mind. There's no harm in leaving it deprecated for a release cycle.
-
See ChangeLog for rationale for not deprecating it as originally planned.
-
* Merge overloaded functions by adding default values * Remove non-const methods that are identical to const methods
-
(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
-
Run this: for i in **/*.cc **/*.c **/*.h **/*.hh; do clang-format < $i >| $i.new && mv $i.new $i done
-
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.
-
Clarify that names are to appear in canonical form with PDF escaping resolved when used in non-parsing QPDFObjectHandle APIs and their C API counterparts. See https://github.com/qpdf/qpdf/discussions/625.
-
Create the typedefs directly in iterators rather than deriving from the deprecated std::iterator class.