aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-11-20 14:23:51 +0100
committerJay Berkenbilt <jberkenbilt@users.noreply.github.com>2022-11-20 18:07:22 +0100
commit0827b1096e9041ffef2b4867164ba21f990d6892 (patch)
treedee60116deabc322a99673c97002809a85dcc6d7
parent63d1dcb414ad92cae857da636f242b34acac394b (diff)
downloadqpdf-0827b1096e9041ffef2b4867164ba21f990d6892.tar.zst
Remove redundant parameters cross_indirect and stop_atstreams from QPDFObjectHandle::copyObject2
-rw-r--r--include/qpdf/QPDFObjectHandle.hh6
-rw-r--r--libqpdf/QPDFObjectHandle.cc28
2 files changed, 11 insertions, 23 deletions
diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh
index b186d4f8..4157015e 100644
--- a/include/qpdf/QPDFObjectHandle.hh
+++ b/include/qpdf/QPDFObjectHandle.hh
@@ -1634,11 +1634,7 @@ class QPDFObjectHandle
bool first_level_only,
bool stop_at_streams);
void shallowCopyInternal1(QPDFObjectHandle& oh, bool first_level_only);
- void copyObject2(
- std::set<QPDFObjGen>& visited,
- bool cross_indirect,
- bool first_level_only,
- bool stop_at_streams);
+ void copyObject2(std::set<QPDFObjGen>& visited, bool first_level_only);
void shallowCopyInternal2(QPDFObjectHandle& oh, bool first_level_only);
void copyObject(
std::set<QPDFObjGen>& visited,
diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc
index 3938fcd2..a830fe4b 100644
--- a/libqpdf/QPDFObjectHandle.cc
+++ b/libqpdf/QPDFObjectHandle.cc
@@ -2315,22 +2315,16 @@ QPDFObjectHandle::shallowCopyInternal2(
new_obj = QPDFObjectHandle(obj->copy(true));
std::set<QPDFObjGen> visited;
- new_obj.copyObject2(visited, false, first_level_only, false);
+ new_obj.copyObject2(visited, first_level_only);
}
void
QPDFObjectHandle::copyObject2(
- std::set<QPDFObjGen>& visited,
- bool cross_indirect,
- bool first_level_only,
- bool stop_at_streams)
+ std::set<QPDFObjGen>& visited, bool first_level_only)
{
assertInitialized();
if (isStream()) {
- if (stop_at_streams) {
- return;
- }
throw std::runtime_error(
"attempt to make a stream into a direct object");
}
@@ -2361,11 +2355,10 @@ QPDFObjectHandle::copyObject2(
int n = array->getNItems();
for (int i = 0; i < n; ++i) {
items.push_back(array->getItem(i));
- if ((!first_level_only) &&
- (cross_indirect || (!items.back().isIndirect()))) {
- items.back().copyObject2(
- visited, cross_indirect, first_level_only, stop_at_streams);
- }
+ if ((!first_level_only) && !items.back().isIndirect())
+ {
+ items.back().copyObject2(visited, first_level_only);
+ }
}
new_obj = QPDF_Array::create(items);
} else if (isDictionary()) {
@@ -2373,11 +2366,10 @@ QPDFObjectHandle::copyObject2(
auto dict = asDictionary();
for (auto const& key: getKeys()) {
items[key] = dict->getKey(key);
- if ((!first_level_only) &&
- (cross_indirect || (!items[key].isIndirect()))) {
- items[key].copyObject2(
- visited, cross_indirect, first_level_only, stop_at_streams);
- }
+ if ((!first_level_only) && !items[key].isIndirect())
+ {
+ items[key].copyObject2(visited, first_level_only);
+ }
}
new_obj = QPDF_Dictionary::create(items);
} else {