aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
AgeCommit message (Collapse)Author
2022-04-30Add comments around non-security-related uses of MD5Jay Berkenbilt
2022-04-30Revert "Remove QPDFObjectHandle::replaceOrRemoveKey"Jay Berkenbilt
This reverts commit dc059560e73e0b373a6e54e71b07e3af4b692cb4. I changed my mind. There's no harm in leaving it deprecated for a release cycle.
2022-04-30Remove QPDFObjectHandle::replaceOrRemoveKeyJay Berkenbilt
See ChangeLog for rationale for not deprecating it as originally planned.
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 fluent appendItemJay Berkenbilt
2022-04-30Use fluent replaceKeyJay Berkenbilt
2022-04-30Use replaceKeyAndGet in a few places in existing codeJay Berkenbilt
2022-04-30Add new QPDFObjectHandle methods for more fluent programmingJay Berkenbilt
2022-04-24QPDFJob json: make removeAttachment take an array (fixes #693)Jay Berkenbilt
2022-04-24Fix build logic around generate_auto_jobJay Berkenbilt
It was being run at configuration time, not build time.
2022-04-24Fix some bugs around null values in dictionariesJay Berkenbilt
Make it so that a key with a null value is always treated as not being present. This was inconsistent before.
2022-04-24Deprecate replaceOrRemoveKey -- it's the same as replaceKeyJay Berkenbilt
2022-04-24Have dictionary/streams mutators take const& where possibleJay Berkenbilt
2022-04-24Add new QPDF::warn that takes most of QPDFExc's argumentsJay Berkenbilt
2022-04-24Expose QUtil::get_next_utf8_codepointJay Berkenbilt
2022-04-24Replace switch statements with static map initializersJay Berkenbilt
Character transcoding from Unicode to single-byte characters used hard-coded switch statements because the code predated our adoption of C++11. Now we have thread-safe, static initialization of map literals, so use that instead.
2022-04-18QPDFJob: pass capture output streams through to underlying QPDFJay Berkenbilt
2022-04-16Use anonymous namespaces for file-private classesJay Berkenbilt
2022-04-16Remove deprecated name/number tree constructorsJay Berkenbilt
Remove the name/number tree object helper constructors that don't take a QPDF&.
2022-04-16Remove QPDFAcroFormDocumentHelper::copyFieldsFromForeignPageJay Berkenbilt
2022-04-16Change default --json from 1 to latestJay Berkenbilt
2022-04-16Use = default and = delete where possible in classesJay Berkenbilt
2022-04-16Make ABI-breaking changes that don't modify API at allJay Berkenbilt
* Merge overloaded functions by adding default values * Remove non-const methods that are identical to const methods
2022-04-10Fix typo in error messageJay Berkenbilt
2022-04-10Clean up/fix DLL.hJay Berkenbilt
* Change DLL_EXPORT to libqpdf_EXPORTS (internal to the build). The new name is cmake's default, is more conventional, and is less likely to clash with other symbols. * Add QPDF_DLL_PRIVATE for non-Windows * Make logic around when to define QPDF_DLL et al more explicit * Add detailed comments
2022-04-09Remove methods of private classes from ABIJay Berkenbilt
Prior to the cmake conversion, several private classes had methods that were exported into the shared library so they could be tested with libtests. With cmake, we build libtests using an object library, so this is no longer necessary. The methods that are disappearing from the ABI were never exposed through public headers, so no code should be using them. Removal had to wait until the window for ABI-breaking changes was open.
2022-04-09Remove PointerHolder.hh from other than public header filesJay Berkenbilt
Increase to POINTERHOLDER_TRANSITION=4
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-09Remove accidentally committed fileJay Berkenbilt
2022-04-09Add documentation for code formatting and contribution guidelinesJay Berkenbilt
2022-04-05Update some code manually to get better formatting resultsJay Berkenbilt
Add comments to force line breaks, parenthesize function arguments that are contatenated strings, etc. -- these kinds of changes improve clang-format's results and also cause emacs cc-mode to match clang-format. After this type of change, most of the time, when clang-format and emacs disagree, clang-format is better.
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-04-04Protect gnutls headers from clang-format rearranging themJay Berkenbilt
2022-04-03Exclude formatting on embedded native cryptoJay Berkenbilt
2022-03-23Put spaces around version constraint in pkg-config (fixes #677)Jay Berkenbilt
Also add a pkg-config runtime test that would have caught the error.
2022-03-19Fix test for whether atomic library is neededJay Berkenbilt
Some platforms need it for atomic<long long> but not for atomic<int>.
2022-03-19Remove "lt-" workaroundsJay Berkenbilt
The executables that libtool built invoked the underlying binary with an "lt-" prefix. The code contained numerous workarounds for testing, which can now be removed.
2022-03-19Update process for ABI testingJay Berkenbilt
2022-03-19Remove old build filesJay Berkenbilt
2022-03-19Add cmake configuration filesJay Berkenbilt
2022-03-19Switch variables to cmake in qpdf-config.hJay Berkenbilt
2022-03-08Rename bits_include.cc to qpdf/bits_functions.hhJay Berkenbilt
It's better to just make it a .hh file to reduce confusion.
2022-02-26TODO: solidify plans for code formattingJay Berkenbilt
2022-02-26Rename bits.icc to bits_include.ccJay Berkenbilt
2022-02-26Shorten coverage case nameJay Berkenbilt
This is so it will fit on one line after a qtest upgrade allows us to split lines.
2022-02-26generate_auto_job: protect generated files from formattingJay Berkenbilt
2022-02-26Move default values to constexprJay Berkenbilt
This was mainly to get comments about defaults out of constructor initializer lists where their fragile when a code formatter is being used.
2022-02-25Allow \/ in a json stringJay Berkenbilt
2022-02-22Use val.at instead of val[]Jay Berkenbilt