diff --git a/src/data_transfer.cpp b/src/data_transfer.cpp index 41fa2e747c7538a1a5d6023a8145034f87599270..af6c463de3c23528b46b6472b0dec4dbbb9ea796 100644 --- a/src/data_transfer.cpp +++ b/src/data_transfer.cpp @@ -40,7 +40,6 @@ #include <mutex> #include <future> #include <atomic> -#include <charconv> // std::from_chars #include <cstdlib> // mkstemp #include <filesystem> diff --git a/src/ftp_server.cpp b/src/ftp_server.cpp index ac3b083f3ec3dedf8ef3a62911d8a83e078e839d..1a8edc38712c25247246584726c2f7874c76ca1c 100644 --- a/src/ftp_server.cpp +++ b/src/ftp_server.cpp @@ -214,10 +214,7 @@ FtpServer::handleHeader(std::string_view key, std::string_view value) JAMI_DBG() << "[FTP] header: '" << key << "' = '" << value << "'"; if (key == "Content-Length") { - auto [p, ec] = std::from_chars(value.data(), value.data() + value.size(), fileSize_); - if (ec != std::errc()) { - throw std::runtime_error("[FTP] header parsing error"); - } + fileSize_ = to_int<size_t>(value); } else if (key == "Display-Name") { info_.displayName = value; } diff --git a/src/jamidht/conversation.cpp b/src/jamidht/conversation.cpp index bf281b4e2bd24d5520486850dee1d67d56fec7ee..05f2c46fb754acdbddc12d86137a5c19017e526c 100644 --- a/src/jamidht/conversation.cpp +++ b/src/jamidht/conversation.cpp @@ -1208,8 +1208,7 @@ Conversation::downloadFile(const std::string& interactionId, } auto sha3sum = commit->at("sha3sum"); auto size_str = commit->at("totalSize"); - std::size_t totalSize; - std::from_chars(size_str.data(), size_str.data() + size_str.size(), totalSize); + auto totalSize = to_int<size_t>(size_str); // Be sure to not lock conversation dht::ThreadPool().io().run( diff --git a/src/jamidht/transfer_channel_handler.cpp b/src/jamidht/transfer_channel_handler.cpp index ef1307f7af5a92de1c66f440741640fbbcb07d08..684f82fdb7d28cba4da5730e7fc70c50ff08ca3e 100644 --- a/src/jamidht/transfer_channel_handler.cpp +++ b/src/jamidht/transfer_channel_handler.cpp @@ -136,9 +136,9 @@ TransferChannelHandler::onReady(const std::shared_ptr<dht::crypto::Certificate>& auto keyVal = split_string(arg, '='); if (keyVal.size() == 2) { if (keyVal[0] == "start") { - std::from_chars(keyVal[1].data(), keyVal[1].data() + keyVal[1].size(), start); + start = to_int<unsigned>(keyVal[1]); } else if (keyVal[0] == "end") { - std::from_chars(keyVal[1].data(), keyVal[1].data() + keyVal[1].size(), end); + end = to_int<unsigned>(keyVal[1]); } } } diff --git a/src/sip/sipaccount.cpp b/src/sip/sipaccount.cpp index 08e55cb6cf0cba1cca7fa79e5e75bddb542013e7..fc8455d4cffafd3da765b1096debf7e8267f795e 100644 --- a/src/sip/sipaccount.cpp +++ b/src/sip/sipaccount.cpp @@ -1326,7 +1326,7 @@ SIPAccount::initStunConfiguration() } else { stunServerName_ = sip_utils::CONST_PJ_STR(stunServer.substr(0, pos)); auto serverPort = stunServer.substr(pos + 1); - std::from_chars(serverPort.data(), serverPort.data() + serverPort.size(), stunPort_); + stunPort_ = to_int<uint16_t>(serverPort); } }