diff options
author | merge-script <fanquake@gmail.com> | 2024-05-15 12:48:37 +0800 |
---|---|---|
committer | merge-script <fanquake@gmail.com> | 2024-05-15 12:48:37 +0800 |
commit | 3d24189664e696a2ca1aee2b5ea57b245344e2d4 (patch) | |
tree | 3de65f20167ff0bdc29a96e0021d6aa9559c3f31 /src | |
parent | 695d80126f75a99c80d5d6c18ebaaabf7410b989 (diff) | |
parent | 12d82817bf32396b58c8c65645012def606680b6 (diff) | |
download | bitcoin-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.cpp | 18 |
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) |