aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
diff options
context:
space:
mode:
authorFredrik Fornwall <fredrik@fornwall.net>2021-09-10 00:05:48 +0200
committerJay Berkenbilt <jberkenbilt@users.noreply.github.com>2021-09-10 16:02:24 +0200
commite0775238b8b011755b9682555a8449b8a71f33eb (patch)
tree4f4d57c276159426ff7b6b4b5a9dc99fcb3d8774 /libqpdf
parentd2e7f2a384788c6af77aea79e2f6bc8b5b0b4527 (diff)
downloadqpdf-e0775238b8b011755b9682555a8449b8a71f33eb.tar.zst
Fix QPDFEFStreamObjectHelper::{get,set}Subtype
The /Subtype entry that specifies the mime type of an embedded file is inside the embedded file stream dictionary directly, not it in the parameter dictionary. See Table 45 and 46 in the PDF 1.7 specification: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf#page=112
Diffstat (limited to 'libqpdf')
-rw-r--r--libqpdf/QPDFEFStreamObjectHelper.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/libqpdf/QPDFEFStreamObjectHelper.cc b/libqpdf/QPDFEFStreamObjectHelper.cc
index 47df9657..71e13cb2 100644
--- a/libqpdf/QPDFEFStreamObjectHelper.cc
+++ b/libqpdf/QPDFEFStreamObjectHelper.cc
@@ -76,7 +76,7 @@ QPDFEFStreamObjectHelper::getSize()
std::string
QPDFEFStreamObjectHelper::getSubtype()
{
- auto val = getParam("/Subtype");
+ auto val = this->oh.getDict().getKey("/Subtype");
if (val.isName())
{
auto n = val.getName();
@@ -141,7 +141,8 @@ QPDFEFStreamObjectHelper::setModDate(std::string const& date)
QPDFEFStreamObjectHelper&
QPDFEFStreamObjectHelper::setSubtype(std::string const& subtype)
{
- setParam("/Subtype", QPDFObjectHandle::newName("/" + subtype));
+ this->oh.getDict().replaceKey(
+ "/Subtype", QPDFObjectHandle::newName("/" + subtype));
return *this;
}