-
When there is no context for writing output or error messages, use the default logger.
-
This includes the output PDF, streams from --show-object and attachments from --save-attachment. This also enables --verbose and --progress to work with saving to stdout.
-
Remove variables obsoleted by commit 4f24617.
-
* Replace --create-from-json=file with --json-input, which causes the regular input to be treated as json. * Eliminate --to-json * In --json=2, bring back "objects" and eliminate "objectinfo". Stream data is never present. * In --json-output=2, write "qpdf-v2" with "objects" and include stream data.
-
There are no automated tests yet, but committing work so far in preparation for some refactoring.
-
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.
-
Also add stubs for top-level QPDF methods (createFromJSON, updateFromJSON)
-
The last offset is irrelevant to not being able to find /Root.
-
When an empty string was passed to replaceStreamData, the code was passing a null pointer to memcpy. Since a 0 size was also passed, this was harmless, but it triggers sanitizer errors. The code properly handles a null pointer as the buffer in other places.