2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-09-27 20:49:06 +00:00

Refactor QPDFObjectHandle::unsafeShallowCopy

This commit is contained in:
m-holger 2022-11-14 18:03:03 +00:00 committed by Jay Berkenbilt
parent 0289b21c3b
commit d7b8525235
2 changed files with 4 additions and 14 deletions

View File

@ -1634,7 +1634,6 @@ class QPDFObjectHandle
bool first_level_only, bool first_level_only,
bool stop_at_streams); bool stop_at_streams);
void shallowCopyInternal1(QPDFObjectHandle& oh, bool first_level_only); void shallowCopyInternal1(QPDFObjectHandle& oh, bool first_level_only);
void shallowCopyInternal2(QPDFObjectHandle& oh);
void copyObject( void copyObject(
std::set<QPDFObjGen>& visited, std::set<QPDFObjGen>& visited,
bool cross_indirect, bool cross_indirect,

View File

@ -2298,20 +2298,11 @@ QPDFObjectHandle::copyObject1(
QPDFObjectHandle QPDFObjectHandle
QPDFObjectHandle::unsafeShallowCopy() QPDFObjectHandle::unsafeShallowCopy()
{ {
QPDFObjectHandle result; if (!dereference()) {
shallowCopyInternal2(result); throw std::logic_error("operation attempted on uninitialized "
return result; "QPDFObjectHandle");
}
void
QPDFObjectHandle::shallowCopyInternal2(QPDFObjectHandle& new_obj)
{
assertInitialized();
if (isStream()) {
throw std::runtime_error("attempt to make a shallow copy of a stream");
} }
new_obj = QPDFObjectHandle(obj->copy(true)); return QPDFObjectHandle(obj->copy(true));
} }
void void