diff options
author | m-holger <m-holger@kubitscheck.org> | 2023-02-15 11:35:10 +0100 |
---|---|---|
committer | m-holger <m-holger@kubitscheck.org> | 2023-02-18 09:33:08 +0100 |
commit | d58ec90310c93653ab42bcb7373a38e3f8d43362 (patch) | |
tree | 56332692fe8775fba175b164e91e22644873ccce /libqpdf/QPDFValue.cc | |
parent | 76189c44a2f656e6623a7d36519e406d488a9ee5 (diff) | |
download | qpdf-d58ec90310c93653ab42bcb7373a38e3f8d43362.tar.zst |
Un-inline QPDFValue::getDescription
Diffstat (limited to 'libqpdf/QPDFValue.cc')
-rw-r--r-- | libqpdf/QPDFValue.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libqpdf/QPDFValue.cc b/libqpdf/QPDFValue.cc index ca3205b7..19679df2 100644 --- a/libqpdf/QPDFValue.cc +++ b/libqpdf/QPDFValue.cc @@ -9,3 +9,20 @@ QPDFValue::do_create(QPDFValue* object) obj->value = std::shared_ptr<QPDFValue>(object); return obj; } + +std::string +QPDFValue::getDescription() +{ + auto description = object_description ? *object_description : ""; + if (auto pos = description.find("$OG"); pos != std::string::npos) { + description.replace(pos, 3, og.unparse(' ')); + } + if (auto pos = description.find("$PO"); pos != std::string::npos) { + qpdf_offset_t shift = (type_code == ::ot_dictionary) ? 2 + : (type_code == ::ot_array) ? 1 + : 0; + + description.replace(pos, 3, std::to_string(parsed_offset + shift)); + } + return description; +} |