Branch data Line data Source code
1 : : // Copyright (c) 2015-2022 The Bitcoin Core developers 2 : : // Distributed under the MIT software license, see the accompanying 3 : : // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 : : 5 : : #include <common/url.h> 6 : : 7 : : #include <event2/http.h> 8 : : 9 : : #include <cstdlib> 10 : : #include <string> 11 : : 12 : 336 : std::string urlDecode(const std::string &urlEncoded) { 13 : 336 : std::string res; 14 [ + + ]: 336 : if (!urlEncoded.empty()) { 15 [ + - ]: 326 : char *decoded = evhttp_uridecode(urlEncoded.c_str(), false, nullptr); 16 [ - + ]: 326 : if (decoded) { 17 [ - + ]: 326 : res = std::string(decoded); 18 : 326 : free(decoded); 19 : 326 : } 20 : 326 : } 21 : 336 : return res; 22 [ + - ]: 336 : }