aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-09-27 13:40:39 +0200
committerJay Berkenbilt <jberkenbilt@users.noreply.github.com>2022-11-19 20:10:42 +0100
commit6350cf16e622d12ec2f68d0aa39132731dc7c73f (patch)
tree1b79f1a330f095c51efc63b081fae26849cb1530
parent3a86b893f710453ba935903d68200a7bee4cbad2 (diff)
downloadqpdf-6350cf16e622d12ec2f68d0aa39132731dc7c73f.tar.zst
Remove QPDF_Stream::offset
-rw-r--r--libqpdf/QPDF.cc7
-rw-r--r--libqpdf/QPDF_Stream.cc14
-rw-r--r--libqpdf/qpdf/QPDFValue.hh16
-rw-r--r--libqpdf/qpdf/QPDF_Stream.hh1
4 files changed, 17 insertions, 21 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc
index a821e4bf..bf7a03ea 100644
--- a/libqpdf/QPDF.cc
+++ b/libqpdf/QPDF.cc
@@ -1534,10 +1534,9 @@ QPDF::readObject(
throw e;
}
}
- auto stream =
- QPDF_Stream::create(this, og, object, stream_offset, length);
- stream->setParsedOffset(stream_offset);
- object = newIndirect(og, stream);
+ object = newIndirect(
+ og,
+ QPDF_Stream::create(this, og, object, stream_offset, length));
} else {
input->seek(cur_offset, SEEK_SET);
}
diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc
index ec22b964..8e48f9fb 100644
--- a/libqpdf/QPDF_Stream.cc
+++ b/libqpdf/QPDF_Stream.cc
@@ -117,7 +117,6 @@ QPDF_Stream::QPDF_Stream(
QPDFValue(::ot_stream, "stream"),
filter_on_write(true),
stream_dict(stream_dict),
- offset(offset),
length(length)
{
if (!stream_dict.isDictionary()) {
@@ -126,6 +125,7 @@ QPDF_Stream::QPDF_Stream(
}
setDescription(
qpdf, qpdf->getFilename() + ", stream object " + og.unparse(' '));
+ this->parsed_offset = offset;
}
std::shared_ptr<QPDFObject>
@@ -325,7 +325,7 @@ QPDF_Stream::isDataModified() const
qpdf_offset_t
QPDF_Stream::getOffset() const
{
- return this->offset;
+ return this->parsed_offset;
}
size_t
@@ -357,7 +357,7 @@ QPDF_Stream::getStreamData(qpdf_stream_decode_level_e decode_level)
qpdf_e_unsupported,
qpdf->getFilename(),
"",
- this->offset,
+ this->parsed_offset,
"getStreamData called on unfilterable stream");
}
QTC::TC("qpdf", "QPDF_Stream getStreamData");
@@ -373,7 +373,7 @@ QPDF_Stream::getRawStreamData()
qpdf_e_unsupported,
qpdf->getFilename(),
"",
- this->offset,
+ this->parsed_offset,
"error getting raw stream data");
}
QTC::TC("qpdf", "QPDF_Stream getRawStreamData");
@@ -618,7 +618,7 @@ QPDF_Stream::pipeStreamData(
this->stream_dict.replaceKey(
"/Length", QPDFObjectHandle::newInteger(actual_length));
}
- } else if (this->offset == 0) {
+ } else if (this->parsed_offset == 0) {
QTC::TC("qpdf", "QPDF_Stream pipe no stream data");
throw std::logic_error("pipeStreamData called for stream with no data");
} else {
@@ -626,7 +626,7 @@ QPDF_Stream::pipeStreamData(
if (!QPDF::Pipe::pipeStreamData(
this->qpdf,
og,
- this->offset,
+ this->parsed_offset,
this->length,
this->stream_dict,
pipeline,
@@ -716,5 +716,5 @@ QPDF_Stream::replaceDict(QPDFObjectHandle const& new_dict)
void
QPDF_Stream::warn(std::string const& message)
{
- this->qpdf->warn(qpdf_e_damaged_pdf, "", this->offset, message);
+ this->qpdf->warn(qpdf_e_damaged_pdf, "", this->parsed_offset, message);
}
diff --git a/libqpdf/qpdf/QPDFValue.hh b/libqpdf/qpdf/QPDFValue.hh
index 0f85f79f..17dce933 100644
--- a/libqpdf/qpdf/QPDFValue.hh
+++ b/libqpdf/qpdf/QPDFValue.hh
@@ -69,11 +69,8 @@ class QPDFValue
}
protected:
- QPDFValue() :
- type_code(::ot_uninitialized),
- type_name("uninitialized")
- {
- }
+ QPDFValue() = default;
+
QPDFValue(qpdf_object_type_e type_code, char const* type_name) :
type_code(type_code),
type_name(type_name)
@@ -97,13 +94,14 @@ class QPDFValue
QPDFValue(QPDFValue const&) = delete;
QPDFValue& operator=(QPDFValue const&) = delete;
std::string object_description;
- qpdf_offset_t parsed_offset{-1};
- const qpdf_object_type_e type_code;
- char const* type_name;
+
+ const qpdf_object_type_e type_code{::ot_uninitialized};
+ char const* type_name{"uninitialized"};
protected:
QPDF* qpdf{nullptr};
- QPDFObjGen og;
+ QPDFObjGen og{};
+ qpdf_offset_t parsed_offset{-1};
};
#endif // QPDFVALUE_HH
diff --git a/libqpdf/qpdf/QPDF_Stream.hh b/libqpdf/qpdf/QPDF_Stream.hh
index cb5c9256..e58901ba 100644
--- a/libqpdf/qpdf/QPDF_Stream.hh
+++ b/libqpdf/qpdf/QPDF_Stream.hh
@@ -103,7 +103,6 @@ class QPDF_Stream: public QPDFValue
bool filter_on_write;
QPDFObjectHandle stream_dict;
- qpdf_offset_t offset;
size_t length;
std::shared_ptr<Buffer> stream_data;
std::shared_ptr<QPDFObjectHandle::StreamDataProvider> stream_provider;