@@ -2004,9 +2004,10 @@ TiffComponent::UniquePtr TiffCreator::create(uint32_t extendedTag, IfdId group)
20042004 return nullptr ;
20052005} // TiffCreator::create
20062006
2007- void TiffCreator::getPath (TiffPath& tiffPath, uint32_t extendedTag, IfdId group, uint32_t root) {
2007+ TiffPath TiffCreator::getPath (uint32_t extendedTag, IfdId group, uint32_t root) {
2008+ TiffPath ret;
20082009 while (true ) {
2009- tiffPath .emplace (extendedTag, group);
2010+ ret .emplace (extendedTag, group);
20102011 const auto ts = tiffTreeTable_.find (TiffGroupKey (root, group));
20112012 assert (ts != tiffTreeTable_.end ());
20122013 extendedTag = ts->second .second ;
@@ -2015,6 +2016,7 @@ void TiffCreator::getPath(TiffPath& tiffPath, uint32_t extendedTag, IfdId group,
20152016 break ;
20162017 }
20172018 }
2019+ return ret;
20182020}
20192021
20202022ByteOrder TiffParserWorker::decode (ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData,
@@ -2047,8 +2049,7 @@ WriteMethod TiffParserWorker::encode(BasicIo& io, const byte* pData, size_t size
20472049 */
20482050 WriteMethod writeMethod = wmIntrusive;
20492051 auto parsedTree = parse (pData, size, root, pHeader);
2050- PrimaryGroups primaryGroups;
2051- findPrimaryGroups (primaryGroups, parsedTree.get ());
2052+ auto primaryGroups = findPrimaryGroups (parsedTree.get ());
20522053 if (parsedTree) {
20532054 // Attempt to update existing TIFF components based on metadata entries
20542055 TiffEncoder encoder (exifData, iptcData, xmpData, parsedTree.get (), false , &primaryGroups, pHeader, findEncoderFct);
@@ -2107,9 +2108,10 @@ TiffComponent::UniquePtr TiffParserWorker::parse(const byte* pData, size_t size,
21072108
21082109} // TiffParserWorker::parse
21092110
2110- void TiffParserWorker::findPrimaryGroups (PrimaryGroups& primaryGroups, TiffComponent* pSourceDir) {
2111+ PrimaryGroups TiffParserWorker::findPrimaryGroups (TiffComponent* pSourceDir) {
2112+ PrimaryGroups ret;
21112113 if (!pSourceDir)
2112- return ;
2114+ return ret ;
21132115
21142116 static constexpr auto imageGroups = std::array{
21152117 IfdId::ifd0Id, IfdId::ifd1Id, IfdId::ifd2Id, IfdId::ifd3Id, IfdId::subImage1Id,
@@ -2123,10 +2125,10 @@ void TiffParserWorker::findPrimaryGroups(PrimaryGroups& primaryGroups, TiffCompo
21232125 auto te = dynamic_cast <TiffEntryBase*>(finder.result ());
21242126 const Value* pV = te ? te->pValue () : nullptr ;
21252127 if (pV && pV->typeId () == unsignedLong && pV->count () == 1 && (pV->toInt64 () & 1 ) == 0 ) {
2126- primaryGroups .push_back (te->group ());
2128+ ret .push_back (te->group ());
21272129 }
21282130 }
2129-
2131+ return ret;
21302132} // TiffParserWorker::findPrimaryGroups
21312133
21322134TiffHeaderBase::TiffHeaderBase (uint16_t tag, uint32_t size, ByteOrder byteOrder, uint32_t offset) :
0 commit comments