2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-11-18 18:35:09 +00:00
Commit Graph

2646 Commits

Author SHA1 Message Date
Jay Berkenbilt
c9cc8cfd74 Remove lgtm banner
Over time, qpdf's grade has dropped on lgtm, but they are not
transparent about how grades are assigned. Fixing current alerts, in
my opinion, reduces clarity and maintainability of the code in the
name of performance in non-critical sections of code. Some analysis by
m-holger suggests that fixing some of the current alerts actually
degrades performance (slightly) while fixing others results in
insignificant improvements. The quality of qpdf can be measured in
other ways, such as its extensive test suite, documentation, and long
track record of reliably manipulating PDFs with high performance, few
bugs, and few external dependencies. The lgtm rating is a distraction
at best.
2022-07-31 08:21:53 -04:00
m-holger
073808aa50 Code tidy : replace 0 with nullptr or true 2022-07-26 13:40:13 +01:00
Jay Berkenbilt
4674c04cb8 JSON schema: support multi-element array validation 2022-07-24 16:44:51 -04:00
Jay Berkenbilt
f8d1ab9462 JSON schema -- accept single item in place of array
When the schema wants a variable-length array, allow a single item as
well as allowing an array.
2022-07-24 16:17:03 -04:00
Jay Berkenbilt
b3e6d445cb Tweak "AndGet" mutator functions again
Remove any ambiguity around whether old or new value is being
returned.
2022-07-24 15:42:23 -04:00
Jay Berkenbilt
3661f2749a Fix regex used for finding classes in the library 2022-07-24 15:41:02 -04:00
Jay Berkenbilt
d27edd54c4 Add ChangeLog and release notes for previous contribution 2022-07-24 14:47:40 -04:00
Jay Berkenbilt
5696a507b6
Merge pull request #731 from m-holger/og_unparse
Tidy QPDFObjGen related code
2022-07-24 14:41:33 -04:00
m-holger
8b4afa428e Revert making second parameter of QPDFObjGen::QPDFObjGen optional
Also, change test for QPDFObjGen::isIndirect to obj != 0.
Delete comment from commit afd35f9.
2022-07-24 16:55:10 +01:00
m-holger
afd35f9a30 Overload StreamDataProvider::provideStreamData
Use 'QPDFObjGen const&' instead of 'int, int' in signature.
2022-07-24 16:02:35 +01:00
m-holger
5d0469f1bc QPDFObjGen : tidy QPDFJob
Use QPDFObjGen::unparse where appropriate.
2022-07-24 16:02:35 +01:00
m-holger
4b73d057fb QPDFObjGen : tidy QPDF_Stream
Change method signatures to use QPDFObjGen.
Replace QPDF_Stream::objid and generation with QPDF_Stream::og.
2022-07-24 16:02:35 +01:00
m-holger
f7978db1f6 QPDFObjGen : tidy QPDF private methods
Change method signatures to use QPDFObjGen.
Use QPDFObjGen methods where possible.
Remove redundant QPDF::objGenToIndirect.
2022-07-24 16:02:35 +01:00
m-holger
3404ca8ac8 QPDFObjGen : tidy QPDFObjectHandle private methods
Change method signature to use QPDFObjGen.
2022-07-24 15:59:49 +01:00
m-holger
b123f79dfd Replace QPDFObjectHandle::objid and generation with QPDFObjectHandle::og 2022-07-24 15:59:49 +01:00
m-holger
c0168cf88c QPPFObjGen : tidy QPDF::readObjectAtOffset
Change method signature to use QPDFObjGen.
2022-07-24 15:59:49 +01:00
m-holger
6ea17d1f0e Make second parameter of QPDFObjGen::QPDFObjGen optional 2022-07-24 15:41:48 +01:00
m-holger
21b8625f95 Add QPDFObjGen operator != 2022-07-24 15:41:48 +01:00
m-holger
bc5f0fa20b Add method QPDFObjGen::isIndirect 2022-07-24 15:41:48 +01:00
m-holger
eeb6162f76 Add optional parameter separator to QPDFObjGen::unparse
Also, revert inlining of unparse and operator << from commit 4c6640c in
order to avoid exposing QUtil.
2022-07-24 15:41:48 +01:00
Jay Berkenbilt
6f1041afb8 Clarify intent in readObjectAtOffset
Rather than using object id -1 to mean "don't care", use object ID 0,
and clarify the difference between that use and indication of a direct
object.
2022-07-24 09:40:11 -04:00
Jay Berkenbilt
9de29daba5 Format code after previous pull request 2022-07-16 15:29:18 -04:00
m-holger
4c6640cb45 Inline QPDFObjGen methods
ABI breaking change
2022-07-16 14:32:48 -04:00
Jay Berkenbilt
a603c1e395 Run format-code 2022-06-27 12:50:35 -04:00
Jay Berkenbilt
c810f0f21e TODO: QPDFObject parent idea 2022-06-27 12:49:46 -04:00
Jay Berkenbilt
db8a02c20e Add ChangeLog for last commit 2022-06-27 12:49:46 -04:00
m-holger
f0a8178091 Refactor QPDFObject creation and cloning
Move responsibility for creating shared pointers to objects and cloning from QPDFObjectHandle to QPDFObject.
2022-06-27 12:47:02 -04:00
m-holger
5aa8225f49 Refactor QPDFObjectTypeAccessor and QPDFObjectHandle::dereference 2022-06-27 10:39:04 -04:00
Jay Berkenbilt
0c7c7e4ba4 Track whether certain page modifying methods have been called
We need to know whether pushInheritedAttributesToPage or getAllPages
have been called when generating JSON output. When reading the JSON
back in, we have to call the same methods so that object numbers will
line up properly.
2022-06-25 13:55:45 -04:00
Jay Berkenbilt
25aff0bd52 TODO: abandon (again) and update notes about QPDFPagesTree 2022-06-25 13:26:53 -04:00
Jay Berkenbilt
8a32515a62 Add warnings for some additional page tree repair 2022-06-25 13:25:35 -04:00
Jay Berkenbilt
272fb9de9d TODO reminder 2022-06-25 11:11:24 -04:00
Jay Berkenbilt
6c4537885e Reformat code 2022-06-25 11:11:24 -04:00
m-holger
7836e19747 Code tidy: remove redundant calls to QPDFObjectHandle::isInitialized 2022-06-25 11:10:06 -04:00
m-holger
3b3bcab349 Remove QPDF_Stream::setStreamDescription 2022-06-25 08:26:46 -04:00
m-holger
9eda1fdc41 Remove redundant QPDF_Array::setDescription and QPDF_Dictionary::setDescription 2022-06-25 08:25:58 -04:00
m-holger
e9c1637353 Add private method QPDFObjectHandle::getObjGenAsStr
Also, use methods to access objid and generation.
2022-06-25 08:25:32 -04:00
m-holger
97f737a562 Code tidy: QPDFJob::doJSONPageLabels
Remove redundant variables pages and next.
2022-06-25 08:24:50 -04:00
Jay Berkenbilt
1eb2f208ec Use Pl_Function in qpdflogger C API implementation 2022-06-19 09:12:59 -04:00
Jay Berkenbilt
eae75dbe44 Add Pl_Function -- a generic function pipeline 2022-06-19 09:12:29 -04:00
Jay Berkenbilt
bb0ea2f8e7 Add qpdfjob_register_progress_reporter 2022-06-19 08:46:58 -04:00
Jay Berkenbilt
87412eb05b Add QPDFJob::registerProgressReporter 2022-06-19 08:46:58 -04:00
Jay Berkenbilt
3a7ee7e938 Move C-based ProgressReporter helper into QPDFWriter 2022-06-19 08:46:58 -04:00
Jay Berkenbilt
8e361d98f0 Add examples for output capture (fixes #691) 2022-06-19 08:46:58 -04:00
Jay Berkenbilt
8130d50e3b Add C API to QPDFLogger 2022-06-19 08:46:58 -04:00
Jay Berkenbilt
daef4e8fb8 Add more flexible funtions to qpdfjob C API 2022-06-19 08:46:58 -04:00
Jay Berkenbilt
28cc3692e3 Expose exit code values to C API via Constants.h 2022-06-18 11:36:11 -04:00
Jay Berkenbilt
d2e68b57c8 Spell check 2022-06-18 10:38:54 -04:00
Jay Berkenbilt
e0720eaa78 Use the default logger for other writes to stdout/stderr
When there is no context for writing output or error messages, use the
default logger.
2022-06-18 10:38:50 -04:00
Jay Berkenbilt
83be2191b4 Use "save" logger when saving data to standard output
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.
2022-06-18 09:54:40 -04:00