Commit d7b85252356da91293d9c11428a5a1c797c5dd0d

Authored by m-holger
Committed by Jay Berkenbilt
1 parent 0289b21c

Refactor QPDFObjectHandle::unsafeShallowCopy

include/qpdf/QPDFObjectHandle.hh
... ... @@ -1634,7 +1634,6 @@ class QPDFObjectHandle
1634 1634 bool first_level_only,
1635 1635 bool stop_at_streams);
1636 1636 void shallowCopyInternal1(QPDFObjectHandle& oh, bool first_level_only);
1637   - void shallowCopyInternal2(QPDFObjectHandle& oh);
1638 1637 void copyObject(
1639 1638 std::set<QPDFObjGen>& visited,
1640 1639 bool cross_indirect,
... ...
libqpdf/QPDFObjectHandle.cc
... ... @@ -2298,20 +2298,11 @@ QPDFObjectHandle::copyObject1(
2298 2298 QPDFObjectHandle
2299 2299 QPDFObjectHandle::unsafeShallowCopy()
2300 2300 {
2301   - QPDFObjectHandle result;
2302   - shallowCopyInternal2(result);
2303   - return result;
2304   -}
2305   -
2306   -void
2307   -QPDFObjectHandle::shallowCopyInternal2(QPDFObjectHandle& new_obj)
2308   -{
2309   - assertInitialized();
2310   -
2311   - if (isStream()) {
2312   - throw std::runtime_error("attempt to make a shallow copy of a stream");
  2301 + if (!dereference()) {
  2302 + throw std::logic_error("operation attempted on uninitialized "
  2303 + "QPDFObjectHandle");
2313 2304 }
2314   - new_obj = QPDFObjectHandle(obj->copy(true));
  2305 + return QPDFObjectHandle(obj->copy(true));
2315 2306 }
2316 2307  
2317 2308 void
... ...