From ea73bf72e0ff2577672eec405380456fa56bc6af Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 19 Dec 2021 13:52:19 -0500 Subject: Further improvements to handling binary strings --- libqpdf/qpdf-c.cc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'libqpdf') diff --git a/libqpdf/qpdf-c.cc b/libqpdf/qpdf-c.cc index 9593a011..5f702272 100644 --- a/libqpdf/qpdf-c.cc +++ b/libqpdf/qpdf-c.cc @@ -1292,6 +1292,20 @@ char const* qpdf_oh_get_utf8_value(qpdf_data qpdf, qpdf_oh oh) }); } +char const* qpdf_oh_get_binary_string_value( + qpdf_data qpdf, qpdf_oh oh, size_t* length) +{ + return do_with_oh( + qpdf, oh, + return_T(""), + [qpdf, length](QPDFObjectHandle& o) { + QTC::TC("qpdf", "qpdf-c called qpdf_oh_get_binary_string_value"); + qpdf->tmp_string = o.getStringValue(); + *length = qpdf->tmp_string.length(); + return qpdf->tmp_string.c_str(); + }); +} + int qpdf_oh_get_array_n_items(qpdf_data qpdf, qpdf_oh oh) { return do_with_oh( @@ -1425,6 +1439,14 @@ qpdf_oh qpdf_oh_new_unicode_string(qpdf_data qpdf, char const* utf8_str) return new_object(qpdf, QPDFObjectHandle::newUnicodeString(utf8_str)); } +qpdf_oh qpdf_oh_new_binary_string( + qpdf_data qpdf, char const* str, size_t length) +{ + QTC::TC("qpdf", "qpdf-c called qpdf_oh_new_binary_string"); + return new_object( + qpdf, QPDFObjectHandle::newString(std::string(str, length))); +} + qpdf_oh qpdf_oh_new_array(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_oh_new_array"); -- cgit v1.2.3-54-g00ecf