aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormerge-script <fanquake@gmail.com>2024-05-15 12:48:37 +0800
committermerge-script <fanquake@gmail.com>2024-05-15 12:48:37 +0800
commit3d24189664e696a2ca1aee2b5ea57b245344e2d4 (patch)
tree3de65f20167ff0bdc29a96e0021d6aa9559c3f31 /src
parent695d80126f75a99c80d5d6c18ebaaabf7410b989 (diff)
parent12d82817bf32396b58c8c65645012def606680b6 (diff)
downloadbitcoin-3d24189664e696a2ca1aee2b5ea57b245344e2d4.tar.xz
Merge bitcoin/bitcoin#30098: refactor: simplify `FormatSubVersion` using strprintf/Join
12d82817bf32396b58c8c65645012def606680b6 refactor: simplify `FormatSubVersion` using strprintf/Join (Sebastian Falbesoner) Pull request description: Rather than using std::ostringstream and manually joining the comments, use strprintf and our own `Join` helper. ACKs for top commit: maflcko: utACK 12d82817bf32396b58c8c65645012def606680b6 TheCharlatan: tACK 12d82817bf32396b58c8c65645012def606680b6 hebasto: ACK 12d82817bf32396b58c8c65645012def606680b6, I have reviewed the code and it looks OK. tdb3: ACK for 12d82817bf32396b58c8c65645012def606680b6. Tree-SHA512: b9b965c4416a4c0c8727e3c4b40da4be04b14067200220492e9bed4fa35c1907fb5cdec2a30052b9e762f71da3d3cf042f43c96ab1f2523df5bb9920b44ea2a5
Diffstat (limited to 'src')
-rw-r--r--src/clientversion.cpp18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/clientversion.cpp b/src/clientversion.cpp
index 3a5e060a39..6b9727a158 100644
--- a/src/clientversion.cpp
+++ b/src/clientversion.cpp
@@ -5,11 +5,11 @@
#include <config/bitcoin-config.h> // IWYU pragma: keep
#include <clientversion.h>
+#include <util/string.h>
#include <util/translation.h>
#include <tinyformat.h>
-#include <sstream>
#include <string>
#include <vector>
@@ -64,19 +64,9 @@ std::string FormatFullVersion()
*/
std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector<std::string>& comments)
{
- std::ostringstream ss;
- ss << "/";
- ss << name << ":" << FormatVersion(nClientVersion);
- if (!comments.empty())
- {
- std::vector<std::string>::const_iterator it(comments.begin());
- ss << "(" << *it;
- for(++it; it != comments.end(); ++it)
- ss << "; " << *it;
- ss << ")";
- }
- ss << "/";
- return ss.str();
+ std::string comments_str;
+ if (!comments.empty()) comments_str = strprintf("(%s)", Join(comments, "; "));
+ return strprintf("/%s:%s%s/", name, FormatVersion(nClientVersion), comments_str);
}
std::string CopyrightHolders(const std::string& strPrefix)