aboutsummaryrefslogtreecommitdiffstats
path: root/qpdf/qpdf-ctest.c
AgeCommit message (Collapse)Author
2022-01-27Allow testing for subtype without specifying type in isDictionaryOfType etcm-holger
Accept empty string as type parameter in QPDFObjectHandle::isDictionaryOfType and isStreamOfType to allow for dictionaries with optional type.
2022-01-22Make a few whitespace fixes from last commitm-holger
Commit by ejb@ql.org using m-holger as author so git annotate gives proper credit for changes.
2022-01-22Add new convenience methods QPDFObjectHandle::isNameAndEquals, etcm-holger
Add methods isNameAndEquals, isDictionaryOfType, isStreamOfType
2021-12-20Change names of qpdf_object_type_e enumerationsJay Berkenbilt
They have to be ot_* rather than qpdf_ot_* for compatibility. * Different enumerated types are not assignment-compatible in C++, at least with strict compiler settings * While you can do `constexpr ot_xyz = ::qpdf_ot_xyz` in QPDFObject.hh to make QPDFObject::ot_xyz work, QPDFObject::object_type_e::ot_xyz will only work if the enumerated type names are the same.
2021-12-19Further improvements to handling binary stringsJay Berkenbilt
2021-12-18Fix LGTM alertsJay Berkenbilt
2021-12-17C API: simplify new error handling and improve documentationJay Berkenbilt
2021-12-17C-API expose QPDFObjectHandle::getTypeCode and getTypeName (fixes #597)m-holger
2021-12-17C API: add several stream functions (fixes #596)Jay Berkenbilt
2021-12-16Output C test n done at the end of each qpdf-ctestJay Berkenbilt
2021-12-16C API: add functions for working with pages (fixes #594)Jay Berkenbilt
2021-12-16qpdf-ctest: outfile2 -> xargJay Berkenbilt
2021-12-10C API: expose functions for indirect objects (fixes #588)Jay Berkenbilt
2021-12-10C API: overhaul error handlingJay Berkenbilt
* Handle error conditions that occur when using the object handle interfaces. In the past, some exceptions were not correctly converted to errors or warnings. * Add more detailed information to qpdf-c.h * Make it possible to work more explicitly with uninitialized objects
2021-12-10Add missing unit test for register progress reporter in C APIJay Berkenbilt
It was exercised in the pdf-linearize example but not in qpdf-ctest.
2021-12-09Split qpdf-ctest test 24 into multiple testsJay Berkenbilt
Thanks for the nudge from m-holger!
2021-12-09C API: qpdf_oh_is_initializedJay Berkenbilt
2021-12-09C API: qpdf_get_last_string_lengthJay Berkenbilt
2021-12-02C-API expose new_object as qpdf_oh_new_objectm-holger
2021-11-19Add additional testing around improved array wrappingJay Berkenbilt
2021-11-19Ensure qpdf_oh handles returned by C-API functions are unique.m-holger
Return new qpdf_oh from qpdf_oh_wrap_in_array when input is already an array. Update some doc comments in qpdf-c.h.
2021-02-13QUtil::double_to_string: trim trailing zeroes with option to disableJay Berkenbilt
2020-11-29Add QPDFObjectHandle manipulation to C APIJay Berkenbilt
2020-10-16Fix printf formatting for newer msvcJay Berkenbilt
Use autoconf rather than ifdefs to determine what format string to use for long long.
2019-06-21Fix sign and conversion warnings (major)Jay Berkenbilt
This makes all integer type conversions that have potential data loss explicit with calls that do range checks and raise an exception. After this commit, qpdf builds with no warnings when -Wsign-conversion -Wconversion is used with gcc or clang or when -W3 -Wd4800 is used with MSVC. This significantly reduces the likelihood of potential crashes from bogus integer values. There are some parts of the code that take int when they should take size_t or an offset. Such places would make qpdf not support files with more than 2^31 of something that usually wouldn't be so large. In the event that such a file shows up and is valid, at least qpdf would raise an error in the right spot so the issue could be legitimately addressed rather than failing in some weird way because of a silent overflow condition.
2019-01-17Modernize encryption API for more granularityJay Berkenbilt
Setting encryption permissions for R >= 3 set permission bits in groups corresponding to menu options in Acrobat 5. The new API allows the bits to be set individually.
2018-02-19Add C API for checking PDF filesJay Berkenbilt
2017-09-12Update C API with new QPDFWriter methodsJay Berkenbilt
2017-08-27Missing free in some test codeJay Berkenbilt
There was a missing free causing a memory leak in some test code. The memory leak was not in library code.
2015-10-31Implement deterministic IDJay Berkenbilt
For non-encrypted files, determinstic ID generation uses file contents instead of timestamp and file name. At a small runtime cost, this enables generation of the same /ID if the same inputs are converted in the same way multiple times.
2013-03-05Fix long long format string for WIN32Jay Berkenbilt
2013-03-05Fix inadvertent pointer to integer castJay Berkenbilt
2013-03-05Favor strerror_s and fopen_s on MSVCJay Berkenbilt
Make remaining calls to fopen and strerror use strerror_s and fopen_s on MSVC.
2013-03-05Call QUtil::safe_fopen in place of fopenJay Berkenbilt
fopen was previuosly called wrapped by QUtil::fopen_wrapper, but QUtil::safe_fopen does this itself, which is less cumbersome.
2013-03-05Mark secure CRT warnings with commentJay Berkenbilt
Put a specific comment marker next to every piece of code that MSVC gives warning 4996 for. This warning is generated for calls to functions that Microsoft considers insecure or deprecated. This change is in preparation for fixing all these cases even though none of them are actually incorrect or insecure as used in qpdf. The comment marker makes them easier to find so they can be fixed in subsequent commits.
2012-12-31Update "C" API with functions for new featuresJay Berkenbilt
2012-07-29Fix spelling errorsJay Berkenbilt
2012-06-24Fix and test support for files >= 4 GBJay Berkenbilt
2011-08-11enhance PointerHolder so that it can explicitly be told to use delete [] ↵Jay Berkenbilt
instead of delete, thus making it useful to run valgrind over qpdf during its test suite
2011-08-11qpdf_set_info_key, qpdf_get_info_keyJay Berkenbilt
2010-10-04add qpdf_read_memory to C APIJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1044 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-24add C interface for getting software versionJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@903 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-23commentJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@898 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-23logicoJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@896 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-23more tweaking of C error interfaceJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@894 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-23improve C error handling interfaceJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@884 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-20update C API for error retrievalJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@830 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-19DLL.hh -> DLL.h, move public enumerated types into Constants.h and use them ↵Jay Berkenbilt
both for C and C++ interfaces git-svn-id: svn+q:///qpdf/trunk@828 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-19add C API for R4 encryptionJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@825 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-05Implement changes suggested by Zarko and our subsequent conversations:Jay Berkenbilt
- Add a way to set the minimum PDF version - Add a way to force the PDF version - Have isEncrypted return true if an /Encrypt dictionary exists even when we can't read the file - Allow qpdf_init_write to be called multiple times - Update some comments in headers git-svn-id: svn+q:///qpdf/trunk@748 71b93d88-0707-0410-a8cf-f5a4172ac649