diff --git a/src/jamidht/conversation_module.cpp b/src/jamidht/conversation_module.cpp index 1c732e26096dd0ce24dc9f9bd29f4085eb4fe690..bf347d10c5a49f6174387a0e468e497edda2a217 100644 --- a/src/jamidht/conversation_module.cpp +++ b/src/jamidht/conversation_module.cpp @@ -1019,9 +1019,8 @@ ConversationModule::onTrustRequest(const std::string& uri, req.from = uri; req.conversationId = conversationId; req.received = std::time(nullptr); - auto details = vCard::utils::toMap( - std::string_view(reinterpret_cast<const char*>(payload.data()), payload.size())); - req.metadatas = ConversationRepository::infosFromVCard(details); + req.metadatas = ConversationRepository::infosFromVCard(vCard::utils::toMap( + std::string_view(reinterpret_cast<const char*>(payload.data()), payload.size()))); auto reqMap = req.toMap(); pimpl_->addConversationRequest(conversationId, std::move(req)); emitSignal<DRing::ConversationSignal::ConversationRequestReceived>(pimpl_->accountId_, diff --git a/src/jamidht/conversationrepository.cpp b/src/jamidht/conversationrepository.cpp index d73162d2e8b299cc2a19b330a8b30fd3b7229a9e..ae91f11f32e892ccf169fa53ea9d48342ac59eed 100644 --- a/src/jamidht/conversationrepository.cpp +++ b/src/jamidht/conversationrepository.cpp @@ -3536,16 +3536,16 @@ ConversationRepository::infos() const } std::map<std::string, std::string> -ConversationRepository::infosFromVCard(const std::map<std::string, std::string>& details) +ConversationRepository::infosFromVCard(std::map<std::string, std::string>&& details) { std::map<std::string, std::string> result; - for (const auto& [k, v] : details) { + for (auto&& [k, v] : details) { if (k == vCard::Property::FORMATTED_NAME) { - result["title"] = v; + result["title"] = std::move(v); } else if (k == vCard::Property::DESCRIPTION) { - result["description"] = v; + result["description"] = std::move(v); } else if (k.find(vCard::Property::PHOTO) == 0) { - result["avatar"] = v; + result["avatar"] = std::move(v); } } return result; diff --git a/src/jamidht/conversationrepository.h b/src/jamidht/conversationrepository.h index 5c193366d770f80fc476c0a4ae817ed32d9951b3..ec1420d2150c83d67241279848489df7621f05ac 100644 --- a/src/jamidht/conversationrepository.h +++ b/src/jamidht/conversationrepository.h @@ -350,7 +350,7 @@ public: */ std::map<std::string, std::string> infos() const; static std::map<std::string, std::string> infosFromVCard( - const std::map<std::string, std::string>& details); + std::map<std::string, std::string>&& details); /** * Retrieve account's URI from deviceId