Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-02-25 | Allow \/ in a json string | Jay Berkenbilt | |
2022-02-16 | Remove special case for 0xad for 10.6.2.release-qpdf-10.6.2 | Jay Berkenbilt | |
2022-02-15 | Silently/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-15 | Handle odd PDFDoc codepoints in UTF-8 during transcoding (fixes #650) | Jay Berkenbilt | |
There are codepoints in PDFDoc that are not valid UTF-8 but map to valid UTF-8. We were handling those correctly with bidirectional mapping. However, if those same code points appeared in UTF-8, where they have no meaning, they were left as fixed points when converting to PDFDoc, where they do have meaning. This change recognizes them as errors. | |||
2022-02-09 | Fix one more PDF doc encoding error for 10.6 release (fixes #637)release-qpdf-10.6.0 | Jay Berkenbilt | |
2022-02-08 | Add PDFVersion class | Jay Berkenbilt | |
2022-02-08 | WHITESPACE ONLY -- expand tabs in source code | Jay 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-05 | Improve use of std::unique_ptr | Jay 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-04 | PointerHolder: add get() and use_count() for forward compatibility | Jay Berkenbilt | |
PointerHolder will be replaced with shared_ptr, so let people start moving. | |||
2022-02-04 | Add array test to PointerHolder | Jay Berkenbilt | |
2022-02-01 | Make QPDFArgParser accept const argv | Jay Berkenbilt | |
This makes it much more convention to use the initializeFromArgv functions since you can use string literals. | |||
2022-01-31 | JSONHandler: pass JSON object to array start function | Jay Berkenbilt | |
2022-01-31 | JSONHandler: pass JSON object to dict start function | Jay 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. | |||
2022-01-30 | Improve top-level help information | Jay Berkenbilt | |
2022-01-30 | QPDFArgParser: remove unused copyFromOtherTable | Jay Berkenbilt | |
This was used, but it no longer is, so let's not keep the extra complexity around. | |||
2022-01-30 | Add QUtil::make_shared_cstr | Jay Berkenbilt | |
Replace most of the calls to QUtil::copy_string with this instead. | |||
2022-01-30 | Allow optional fields in json "schema" checks | Jay Berkenbilt | |
2022-01-30 | JSONHandler: rework dictionary and array handlers | Jay Berkenbilt | |
2022-01-30 | Implement JSONHandler for recursively processing JSON | Jay Berkenbilt | |
2022-01-30 | Add JSON::parse | Jay Berkenbilt | |
2022-01-30 | Generate help content from manual | Jay Berkenbilt | |
This is a massive rewrite of the help text and cli.rst section of the manual. All command-line flags now have their own help and are specifically index. qpdf --help is completely redone. | |||
2022-01-30 | QPDFArgParser: support adding/printing help information | Jay Berkenbilt | |
2022-01-30 | QPDFArgParser: handle optional choices including help | Jay Berkenbilt | |
Handle optional choices in addition to required choices. Refactor the way help options are added to completion to make it work with optional help choices. | |||
2022-01-30 | Add QPDFArgParser::copyFromOtherTable | Jay Berkenbilt | |
2022-01-30 | Implement QPDFArgParser based on ArgParser from qpdf.cc | Jay Berkenbilt | |
2022-01-11 | Add missing characters from PDF doc encoding (fixes #606) | Jay Berkenbilt | |
2022-01-06 | Move bash/zsh completion helpers to libtests/arg_parser | Jay Berkenbilt | |
2022-01-06 | Move filter-completion.pl to libtests/arg_parser | Jay Berkenbilt | |
2021-12-17 | Add Pl_Buffer::getMallocBuffer | Jay Berkenbilt | |
2021-12-10 | Handle bitstream overflow errors more gracefully (fixes #581) | Jay Berkenbilt | |
* Make it a runtime error, not a logic error * Include additional information * Capture it properly in checkLinearization | |||
2021-11-04 | Add QIntC::range_check_subtract | Jay Berkenbilt | |
2021-02-18 | Add QUtil::path_basename | Jay Berkenbilt | |
2021-02-13 | QUtil::double_to_string: trim trailing zeroes with option to disable | Jay Berkenbilt | |
2021-02-09 | Add QUtil methods for dealing with PDF timestamp strings | Jay Berkenbilt | |
2021-01-24 | Add iterators to name/number tree helpers | Jay Berkenbilt | |
2021-01-24 | Reimplement name and number tree object helpers | Jay Berkenbilt | |
Create a computationally and memory efficient implementation of name and number trees that does binary searches as intended by the data structure rather than loading into a map, which can use a great deal of memory and can be very slow. | |||
2020-11-21 | Handle negative numbers in QIntC::range_check (fuzz issue 26994) | Jay Berkenbilt | |
2020-04-06 | Delegate random number generation to crypto provider (fixes #418) | Jay Berkenbilt | |
2020-04-05 | JSON: implement pattern keys in schema | Jay Berkenbilt | |
2020-04-04 | Allow qpdf to be built on systems without wchar_t (fixes #406) | Jay Berkenbilt | |
2020-01-14 | Pull wmain -> main code from qpdf.cc into QUtil.cc | Jay Berkenbilt | |
2019-11-09 | Allow odd/even modifiers in numeric range (fixes #364) | Jay Berkenbilt | |
2019-11-09 | Run libtests for crypto with all available providers | Jay Berkenbilt | |
If QPDF_CRYPTO_PROVIDER is set, just run the tests for the given provider. This is to support cases of running the entire test suite for each provider. If QPDF_CRYPTO_PROVIDER is not set, run the tests that exercise the cyrpto provider for each available provider. | |||
2019-11-09 | Increase coverage for RC4 testing | Jay Berkenbilt | |
2019-11-09 | See if C++11 features work | Jay Berkenbilt | |
2019-09-17 | Don't assume char is signed in int conversion tests (fixes #361) | Jay Berkenbilt | |
2019-08-31 | Add remove_file and rename_file to QUtil | Jay Berkenbilt | |
2019-08-30 | Add getRefcount to PointerHolder test | Jay Berkenbilt | |
2019-08-18 | SparseOHArray | Jay Berkenbilt | |
2019-06-22 | Add QUtil::read_file_into_memory | Jay Berkenbilt | |
This code was essentially duplicated between test_driver and standalone_fuzz_target_runner. |