aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
AgeCommit message (Collapse)Author
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
2022-02-22Recognize explicit UTF-8 strings (fixes #654)Jay Berkenbilt
2022-02-22Fix autogeneration of job.sumsJay Berkenbilt
2022-02-18Fix logic error with Tf when generating appearances (fixes #655)Jay Berkenbilt
2022-02-16Remove special case for 0xad for 10.6.2.release-qpdf-10.6.2Jay Berkenbilt
2022-02-16Fix asymmetry between newUnicodeString and getUTF8ValueJay Berkenbilt
2022-02-15Silently/transparently recognize UTF-16LE as UTF-16 (fixes #649)Jay Berkenbilt
The PDF spec only allows UTF-16BE, but most readers seem to accept UTF-16LE as well, so now qpdf does too.
2022-02-15Ignore -- at the top level arg parser (fixes #652)Jay Berkenbilt
This was unintended behavior that was added back for backward compatibility. It is intentionally undocumented.