From ecb80c8ce868a7ee20c05e224377a766f8e5abab Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Mon, 19 Oct 2020 11:05:21 +0200 Subject: [PATCH] Clean only domain from asStringUriOnly to strip uri arguments. --- linphone-app/src/utils/Utils.cpp | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/linphone-app/src/utils/Utils.cpp b/linphone-app/src/utils/Utils.cpp index 32e6c0990..112cef63e 100644 --- a/linphone-app/src/utils/Utils.cpp +++ b/linphone-app/src/utils/Utils.cpp @@ -99,19 +99,18 @@ std::shared_ptr Utils::getMatchingLocalAddress(std::shared_pt QString Utils::cleanSipAddress (const QString &sipAddress) { std::shared_ptr addr = linphone::Factory::get()->createAddress(Utils::appStringToCoreString(sipAddress)); if( addr) { - QString sipText = Utils::coreStringToAppString(addr->getScheme()); - if( !sipText.isEmpty()) - sipText += ":"; - if( !addr->getUsername().empty()) - sipText += Utils::coreStringToAppString(addr->getUsername())+"@"; - QString domain = Utils::coreStringToAppString(addr->getDomain()); - if( domain.count(':')>1) - sipText+= '['+domain+']'; - else - sipText +=domain; - return sipText; - }else - return sipAddress; + QStringList fields = Utils::coreStringToAppString(addr->asStringUriOnly()).split('@'); + if(fields.size() > 0){// maybe useless but it's just to be sure to have a domain + fields.removeLast(); + QString domain = Utils::coreStringToAppString(addr->getDomain()); + if( domain.count(':')>1) + fields.append('['+domain+']'); + else + fields.append(domain); + return fields.join('@'); + } + } + return sipAddress; } // Data to retrieve WIN32 process #ifdef _WIN32