From 68f1732948d297db460fbc1afb2f9b1480a1be79 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Fri, 15 Oct 2021 16:11:38 -0400
Subject: [PATCH] jamiaccount: cleanup getContactHeader

* use fmt for better performances
* fix dtls
* remove double space after display name

Change-Id: I9daeb69c65838b130432dfee0b4a5f92d0e53ad9
---
 src/jamidht/jamiaccount.cpp | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp
index ae7f158405..5fbf2411b8 100644
--- a/src/jamidht/jamiaccount.cpp
+++ b/src/jamidht/jamiaccount.cpp
@@ -3058,23 +3058,22 @@ JamiAccount::setMessageDisplayed(const std::string& conversationUri,
 std::string
 JamiAccount::getContactHeader(SipTransport* sipTransport)
 {
-    std::string quotedDisplayName = "\"" + displayName_ + "\" " + (displayName_.empty() ? "" : " ");
-    std::ostringstream contact;
-
     if (auto transport = sipTransport->get()) {
         auto* td = reinterpret_cast<tls::AbstractSIPTransport::TransportData*>(transport);
         auto address = td->self->getLocalAddress().toString(true);
         bool reliable = transport->flag & PJSIP_TRANSPORT_RELIABLE;
-
-        contact << quotedDisplayName << "<sips:" << id_.second->getId().toString()
-                << (address.empty() ? "" : "@") << address
-                << (reliable ? ";transport=tls>" : ";transport=dtls");
+        return fmt::format("\"{}\" <sips:{}{}{};transport={}>",
+                           displayName_,
+                           id_.second->getId().toString(),
+                           address.empty() ? "" : "@",
+                           address,
+                           reliable ? "tls" : "dtls");
     } else {
         JAMI_ERR("getContactHeader: no SIP transport provided");
-        contact << quotedDisplayName << "<sips:" << id_.second->getId().toString() << "@ring.dht>";
+        return fmt::format("\"{}\" <sips:{}@ring.dht>",
+                           displayName_,
+                           id_.second->getId().toString());
     }
-
-    return contact.str();
 }
 
 /* contacts */
-- 
GitLab