aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
AgeCommit message (Collapse)Author
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-07Use make_array_pointer_holderJay Berkenbilt
This will be able to be replaced with QUtil::make_shared_array
2022-02-07Replace PointerHolder arrays with shared_ptr arrays where possibleJay Berkenbilt
Replace PointerHolder arrays wherever it can be done without breaking ABI.
2022-02-07Add QUtil::make_shared_array to help with PointerHolder transitionJay Berkenbilt
2022-02-07Add getBufferSharedPointer() to Pl_Buffer and QPDFWriterJay Berkenbilt
2022-02-06C-API expose QPDFObjectHandle::getKeyIfDictm-holger
2022-02-06Add method QPDFObjectHandle::getKeyIfDictm-holger
2022-02-06C-API expose QPDFObjectHandle::getValueAs... accessorsm-holger
2022-02-05Stop using std::iterator (fixes #618)Jay Berkenbilt
Create the typedefs directly in iterators rather than deriving from the deprecated std::iterator class.
2022-02-05Add operator ""_qpdf for creating QPDFObjectHandle literalsJay Berkenbilt
2022-02-05Add qpdf_empty_pdf to C APIJay Berkenbilt
2022-02-05API contract: qpdf_get_qpdf_version() returns a staticJay Berkenbilt
2022-02-05Improve use of std::unique_ptrJay Berkenbilt
* Use unique_ptr in place of shared_ptr in some cases * unique_ptr for arrays does not require a custom deleter * use std::make_unique (c++14) where possible
2022-02-05Add new QPDFObjectHandle::getValueAs... accessorsm-holger
2022-02-04Update copyright for 2022Jay Berkenbilt
2022-02-04Add a blank line after the first header included in each sourceJay Berkenbilt
2022-02-04Add qpdf version macros to qpdf/DLL.hJay Berkenbilt
2022-02-04Replace containers of PointerHolder with containers of std::shared_ptrJay Berkenbilt
None of these are in the public API.
2022-02-04JSON: use std::shared_ptr internallyJay Berkenbilt
2022-02-04PointerHolder: deprecate getPointer() and getRefcount()Jay Berkenbilt
Use get() and use_count() instead. Add #define NO_POINTERHOLDER_DEPRECATION to remove deprecation markers for these only. This commit also removes all deprecated PointerHolder API calls from qpdf's code except in PointerHolder's test suite, which must continue to test the deprecated APIs.
2022-02-04C-API add two binary UTF8 funtionsm-holger
add qpdf_oh_new_binary_unicode_string and qpdf_oh_get_binary_utf8_value
2022-02-04Fix --check-linearization of non-linearized files (fixes #615)m-holger
2022-02-02Change QPDFExc type to unsupported for /Standard filterm-holger
2022-02-01QPDFJob: let initializeFromArgv just take argv, not argcJay Berkenbilt
Let argv be a null-terminated array. There is already code that assumes this, and it makes it easier to construct the arguments.
2022-02-01Make QPDFArgParser accept const argvJay Berkenbilt
This makes it much more convention to use the initializeFromArgv functions since you can use string literals.
2022-02-01Add qpdfjob-c.h -- simple C API around parts of QPDFJobJay Berkenbilt
2022-02-01Move QTC::TC for qpdf to QPDFJobJay Berkenbilt
All the coverage cases that used to be in qpdf.cc are now in QPDFJob*.cc. It doesn't really matter, but better to follow the convention of starting with the class that includes the coverage call.
2022-02-01Move more code from qpdf.cc into QPDFJobJay Berkenbilt
2022-02-01QPDFJob: documentationJay Berkenbilt
2022-02-01generate_auto_job: generate overloaded config decls for optionalJay Berkenbilt
For optional parameter/choices, generate an overloaded config method that takes no arguments. This makes it possible to convert from a bare argument to one that takes an optional parameter without breaking binary compatibility.
2022-02-01Clean up documentation and help around json optionsJay Berkenbilt
2022-02-01Tweak short text for job schema helpJay Berkenbilt
2022-02-01QPDFJob json: make bare arguments expect the empty stringJay Berkenbilt
Changing from bool requiring true to string requiring the empty string is more consistent with the CLI and makes it possible to add an optional parameter or choices later without breaking compatibility.
2022-02-01QPDFJob json: flatten json structureJay Berkenbilt
Flatten everything to make it easier to map command-line flags to json. The old structure was an illusion anyway because there was no mechanism to enforce that things were in the right place. This also helps with future flexibility.
2022-01-31QPDFJob: add test casesJay Berkenbilt
2022-01-31Add optional version to --jsonJay Berkenbilt
2022-01-31Remove outdated commentsJay Berkenbilt
2022-01-31Change filename or path to file in json and QPDFJobJay Berkenbilt
Use "file" consistently for specifying a file path. We use "filename" when adding attachments for a completely different purpose.
2022-01-31job json: move deterministic-id into output optionsJay Berkenbilt
2022-01-31QPDFJob: fix logic errors in handling arraysJay Berkenbilt
The code was assuming everything was happening inside dictionaries. Instead, make the dictionary key handler creatino explicit only when iterating through dictionary keys.
2022-01-31QPDFJob: rename function that returns job schemaJay Berkenbilt
2022-01-31QPDFJob: partial mode for initializeFromJsonJay Berkenbilt
2022-01-31QPDFJob: remove from json a few things that only make sense from CLIJay Berkenbilt
2022-01-31QPDFJob_json: implement handlers for pagesJay Berkenbilt
2022-01-31QDPFJob: incorporate change to JSONHandler for array start functionJay Berkenbilt
2022-01-31JSONHandler: pass JSON object to array start functionJay Berkenbilt
2022-01-31QPDFJob_json: implement handlers except pagesJay Berkenbilt
2022-01-31QPDFJob: incorporate change to JSONHandler for dict start functionJay Berkenbilt
2022-01-31JSONHandler: pass JSON object to dict start functionJay Berkenbilt
If some keys depend on others, we have to check up front since there is no control of what order key handlers will be called. Anyway, keys are unordered in json, so we don't want to depend on ordering.