diff --git a/src/crwimage.cpp b/src/crwimage.cpp index ff217c7a..d9686ea4 100644 --- a/src/crwimage.cpp +++ b/src/crwimage.cpp @@ -92,10 +92,10 @@ void CrwImage::writeMetadata() { CrwParser::encode(blob, buf.c_data(), buf.size(), this); // Write new buffer to file - auto tempIo = std::make_unique(); - tempIo->write((!blob.empty() ? &blob[0] : nullptr), blob.size()); + MemIo tempIo; + tempIo.write((!blob.empty() ? &blob[0] : nullptr), blob.size()); io_->close(); - io_->transfer(*tempIo); // may throw + io_->transfer(tempIo); // may throw } // CrwImage::writeMetadata diff --git a/src/image.cpp b/src/image.cpp index 30c75d9c..052b8df8 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -791,8 +791,7 @@ Image::UniquePtr ImageFactory::open(const std::string& path, bool useCurl) { } Image::UniquePtr ImageFactory::open(const byte* data, size_t size) { - auto io = std::make_unique(data, size); - auto image = open(std::move(io)); // may throw + auto image = open(std::make_unique(data, size)); // may throw if (!image) throw Error(ErrorCode::kerMemoryContainsUnknownImageType); return image; @@ -826,8 +825,7 @@ Image::UniquePtr ImageFactory::create(ImageType type, const std::string& path) { } Image::UniquePtr ImageFactory::create(ImageType type) { - auto io = std::make_unique(); - auto image = create(type, std::move(io)); + auto image = create(type, std::make_unique()); if (!image) throw Error(ErrorCode::kerUnsupportedImageType, static_cast(type)); return image; diff --git a/src/jp2image.cpp b/src/jp2image.cpp index 189ed2ea..84ab1dbc 100644 --- a/src/jp2image.cpp +++ b/src/jp2image.cpp @@ -585,11 +585,11 @@ void Jp2Image::writeMetadata() { throw Error(ErrorCode::kerDataSourceOpenFailed, io_->path(), strError()); } IoCloser closer(*io_); - auto tempIo = std::make_unique(); + MemIo tempIo; - doWriteMetadata(*tempIo); // may throw + doWriteMetadata(tempIo); // may throw io_->close(); - io_->transfer(*tempIo); // may throw + io_->transfer(tempIo); // may throw } // Jp2Image::writeMetadata diff --git a/src/jpgimage.cpp b/src/jpgimage.cpp index 2f2ef859..93947535 100644 --- a/src/jpgimage.cpp +++ b/src/jpgimage.cpp @@ -696,7 +696,7 @@ void JpegBase::printStructure(std::ostream& out, PrintStructureOption option, in // exiv2 -pS E.jpg // binary copy io_ to a temporary file - auto tempIo = std::make_unique(); + MemIo tempIo; for (size_t i = 0; i < (count / 2) + 1; i++) { size_t start = pos[2 * i] + 2; // step JPG 2 byte marker if (start == 2) @@ -709,12 +709,12 @@ void JpegBase::printStructure(std::ostream& out, PrintStructureOption option, in io_->seekOrThrow(start, BasicIo::beg, ErrorCode::kerFailedToReadImageData); DataBuf buf(length); io_->readOrThrow(buf.data(), buf.size(), ErrorCode::kerFailedToReadImageData); - tempIo->write(buf.c_data(), buf.size()); + tempIo.write(buf.c_data(), buf.size()); } } io_->seekOrThrow(0, BasicIo::beg, ErrorCode::kerFailedToReadImageData); - io_->transfer(*tempIo); // may throw + io_->transfer(tempIo); // may throw io_->seekOrThrow(0, BasicIo::beg, ErrorCode::kerFailedToReadImageData); readMetadata(); } @@ -725,11 +725,11 @@ void JpegBase::writeMetadata() { throw Error(ErrorCode::kerDataSourceOpenFailed, io_->path(), strError()); } IoCloser closer(*io_); - auto tempIo = std::make_unique(); + MemIo tempIo; - doWriteMetadata(*tempIo); // may throw + doWriteMetadata(tempIo); // may throw io_->close(); - io_->transfer(*tempIo); // may throw + io_->transfer(tempIo); // may throw } DataBuf JpegBase::readNextSegment(byte marker) { diff --git a/src/pgfimage.cpp b/src/pgfimage.cpp index 3f5049d9..c41c85b3 100644 --- a/src/pgfimage.cpp +++ b/src/pgfimage.cpp @@ -120,11 +120,11 @@ void PgfImage::writeMetadata() { throw Error(ErrorCode::kerDataSourceOpenFailed, io_->path(), strError()); } IoCloser closer(*io_); - auto tempIo = std::make_unique(); + MemIo tempIo; - doWriteMetadata(*tempIo); // may throw + doWriteMetadata(tempIo); // may throw io_->close(); - io_->transfer(*tempIo); // may throw + io_->transfer(tempIo); // may throw } // PgfImage::writeMetadata diff --git a/src/pngimage.cpp b/src/pngimage.cpp index 0743ab9c..e8adc4b8 100644 --- a/src/pngimage.cpp +++ b/src/pngimage.cpp @@ -480,11 +480,11 @@ void PngImage::writeMetadata() { throw Error(ErrorCode::kerDataSourceOpenFailed, io_->path(), strError()); } IoCloser closer(*io_); - auto tempIo = std::make_unique(); + MemIo tempIo; - doWriteMetadata(*tempIo); // may throw + doWriteMetadata(tempIo); // may throw io_->close(); - io_->transfer(*tempIo); // may throw + io_->transfer(tempIo); // may throw } // PngImage::writeMetadata diff --git a/src/psdimage.cpp b/src/psdimage.cpp index 4df8f882..4274c433 100644 --- a/src/psdimage.cpp +++ b/src/psdimage.cpp @@ -314,11 +314,11 @@ void PsdImage::writeMetadata() { throw Error(ErrorCode::kerDataSourceOpenFailed, io_->path(), strError()); } IoCloser closer(*io_); - auto tempIo = std::make_unique(); + MemIo tempIo; - doWriteMetadata(*tempIo); // may throw + doWriteMetadata(tempIo); // may throw io_->close(); - io_->transfer(*tempIo); // may throw + io_->transfer(tempIo); // may throw } // PsdImage::writeMetadata diff --git a/src/tiffcomposite_int.cpp b/src/tiffcomposite_int.cpp index 841e97e2..af3d6a53 100644 --- a/src/tiffcomposite_int.cpp +++ b/src/tiffcomposite_int.cpp @@ -513,8 +513,7 @@ TiffComponent* TiffSubIfd::doAddPath(uint16_t tag, TiffPath& tiffPath, TiffCompo if (tiffPath.size() == 1 && object) { tc = addChild(std::move(object)); } else { - auto atc = std::make_unique(tpi1.tag(), tpi2.group()); - tc = addChild(std::move(atc)); + tc = addChild(std::make_unique(tpi1.tag(), tpi2.group())); } setCount(ifds_.size()); } diff --git a/src/tiffimage_int.cpp b/src/tiffimage_int.cpp index 6101f8e1..6a3224d7 100644 --- a/src/tiffimage_int.cpp +++ b/src/tiffimage_int.cpp @@ -1890,13 +1890,13 @@ WriteMethod TiffParserWorker::encode(BasicIo& io, const byte* pData, size_t size encoder.add(createdTree.get(), parsedTree.get(), root); // Write binary representation from the composite tree DataBuf header = pHeader->write(); - auto tempIo = std::make_unique(); - IoWrapper ioWrapper(*tempIo, header.c_data(), header.size(), pOffsetWriter); + auto tempIo = MemIo(); + IoWrapper ioWrapper(tempIo, header.c_data(), header.size(), pOffsetWriter); auto imageIdx(uint32_t(-1)); createdTree->write(ioWrapper, pHeader->byteOrder(), header.size(), uint32_t(-1), uint32_t(-1), imageIdx); if (pOffsetWriter) - pOffsetWriter->writeOffsets(*tempIo); - io.transfer(*tempIo); // may throw + pOffsetWriter->writeOffsets(tempIo); + io.transfer(tempIo); // may throw #ifndef SUPPRESS_WARNINGS EXV_INFO << "Write strategy: Intrusive\n"; #endif diff --git a/src/webpimage.cpp b/src/webpimage.cpp index 2018b5dc..71fdd599 100644 --- a/src/webpimage.cpp +++ b/src/webpimage.cpp @@ -96,11 +96,11 @@ void WebPImage::writeMetadata() { throw Error(ErrorCode::kerDataSourceOpenFailed, io_->path(), strError()); } IoCloser closer(*io_); - auto tempIo = std::make_unique(); + MemIo tempIo; - doWriteMetadata(*tempIo); // may throw + doWriteMetadata(tempIo); // may throw io_->close(); - io_->transfer(*tempIo); // may throw + io_->transfer(tempIo); // may throw } // WebPImage::writeMetadata void WebPImage::doWriteMetadata(BasicIo& outIo) { diff --git a/src/xmpsidecar.cpp b/src/xmpsidecar.cpp index 38821719..3b3698d6 100644 --- a/src/xmpsidecar.cpp +++ b/src/xmpsidecar.cpp @@ -140,15 +140,15 @@ void XmpSidecar::writeMetadata() { if (xmpPacket_.substr(0, 5) != "(); + MemIo tempIo; // Write XMP packet - if (tempIo->write(reinterpret_cast(xmpPacket_.data()), xmpPacket_.size()) != xmpPacket_.size()) + if (tempIo.write(reinterpret_cast(xmpPacket_.data()), xmpPacket_.size()) != xmpPacket_.size()) throw Error(ErrorCode::kerImageWriteFailed); - if (tempIo->error()) + if (tempIo.error()) throw Error(ErrorCode::kerImageWriteFailed); io_->close(); - io_->transfer(*tempIo); // may throw + io_->transfer(tempIo); // may throw } } // XmpSidecar::writeMetadata