boost: drop boost dependency in version.cpp.
Also add a test to verify.
This commit is contained in:
parent
352058e8b0
commit
5f4bcf6b14
2 changed files with 19 additions and 3 deletions
|
@ -9,6 +9,7 @@
|
||||||
#include "sync.h"
|
#include "sync.h"
|
||||||
#include "utilstrencodings.h"
|
#include "utilstrencodings.h"
|
||||||
#include "utilmoneystr.h"
|
#include "utilmoneystr.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
@ -341,4 +342,15 @@ BOOST_AUTO_TEST_CASE(test_FormatParagraph)
|
||||||
BOOST_CHECK_EQUAL(FormatParagraph("test test", 4, 4), "test\n test");
|
BOOST_CHECK_EQUAL(FormatParagraph("test test", 4, 4), "test\n test");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(test_FormatSubVersion)
|
||||||
|
{
|
||||||
|
std::vector<std::string> comments;
|
||||||
|
comments.push_back(std::string("comment1"));
|
||||||
|
std::vector<std::string> comments2;
|
||||||
|
comments2.push_back(std::string("comment1"));
|
||||||
|
comments2.push_back(std::string("comment2"));
|
||||||
|
BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, std::vector<std::string>()),std::string("/Test:0.9.99/"));
|
||||||
|
BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, comments),std::string("/Test:0.9.99(comment1)/"));
|
||||||
|
BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, comments2),std::string("/Test:0.9.99(comment1; comment2)/"));
|
||||||
|
}
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
|
|
|
@ -8,8 +8,6 @@
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include <boost/algorithm/string/join.hpp>
|
|
||||||
|
|
||||||
// Name of client reported in the 'version' message. Report the same name
|
// Name of client reported in the 'version' message. Report the same name
|
||||||
// for both bitcoind and bitcoin-qt, to make it harder for attackers to
|
// for both bitcoind and bitcoin-qt, to make it harder for attackers to
|
||||||
// target servers or GUI users specifically.
|
// target servers or GUI users specifically.
|
||||||
|
@ -94,7 +92,13 @@ std::string FormatSubVersion(const std::string& name, int nClientVersion, const
|
||||||
ss << "/";
|
ss << "/";
|
||||||
ss << name << ":" << FormatVersion(nClientVersion);
|
ss << name << ":" << FormatVersion(nClientVersion);
|
||||||
if (!comments.empty())
|
if (!comments.empty())
|
||||||
ss << "(" << boost::algorithm::join(comments, "; ") << ")";
|
{
|
||||||
|
std::vector<std::string>::const_iterator it(comments.begin());
|
||||||
|
ss << "(" << *it;
|
||||||
|
for(++it; it != comments.end(); ++it)
|
||||||
|
ss << "; " << *it;
|
||||||
|
ss << ")";
|
||||||
|
}
|
||||||
ss << "/";
|
ss << "/";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue