2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-12-22 19:08:59 +00:00

Comment, ChangeLog, release note for new contribution

This commit is contained in:
Jay Berkenbilt 2022-02-06 11:26:27 -05:00
parent 5901fcad4c
commit 6a2456f732
3 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2022-02-06 Jay Berkenbilt <ejb@ql.org>
* From m-holger: add getKeyIfDict(), which calls getKey for
dictionaries and returns null if called on null. This is for
easier access to optional, lower-level dictionaries.
2022-02-05 Jay Berkenbilt <ejb@ql.org> 2022-02-05 Jay Berkenbilt <ejb@ql.org>
* Add several new accessors to QPDFObjectHandle: the bool * Add several new accessors to QPDFObjectHandle: the bool

View File

@ -810,6 +810,9 @@ class QPDFObjectHandle
// returned. // returned.
QPDF_DLL QPDF_DLL
QPDFObjectHandle getKey(std::string const&); QPDFObjectHandle getKey(std::string const&);
// If the object is null, return null. Otherwise, call getKey().
// This makes it easier to access lower-level dictionaries, as in
// auto font = page.getKeyIfDict("/Resources").getKeyIfDict("/Font");
QPDF_DLL QPDF_DLL
QPDFObjectHandle getKeyIfDict(std::string const&); QPDFObjectHandle getKeyIfDict(std::string const&);
// Return all keys. Keys with null values are treated as if // Return all keys. Keys with null values are treated as if

View File

@ -129,6 +129,13 @@ For a detailed list of changes, please see the file
``qpdf_oh_is_name_and_equals``. Thanks to M. Holger for the ``qpdf_oh_is_name_and_equals``. Thanks to M. Holger for the
contribution. contribution.
- New convenience method in ``QPDFObjectHandle``: ``getKeyIfDict``
returns null when called on null and otherwise calls ``getKey``.
This makes it easier to access optional, lower-level
dictionaries. It is exposed in the C API
``qpdf_oh_get_key_if_dict``. Thanks to M. Holger for the
contribution.
- New functions added to ``QUtil``: ``make_shared_cstr`` and - New functions added to ``QUtil``: ``make_shared_cstr`` and
``make_unique_cstr`` copy ``std::string`` to ``make_unique_cstr`` copy ``std::string`` to
``std::shared_ptr<char>`` and ``std::unique_ptr<char[]>``. These ``std::shared_ptr<char>`` and ``std::unique_ptr<char[]>``. These