aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFEFStreamObjectHelper.cc
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/QPDFEFStreamObjectHelper.cc
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/QPDFEFStreamObjectHelper.cc')
-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;
}