-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix some bug and add version information
- Loading branch information
Showing
15 changed files
with
20,435 additions
and
10 deletions.
There are no files selected for viewing
3,865 changes: 3,865 additions & 0 deletions
3,865
.svn/pristine/71/712e91cf1f659ed8aefd2a8067dbfb59e6dca631.svn-base
Large diffs are not rendered by default.
Oops, something went wrong.
9,486 changes: 9,486 additions & 0 deletions
9,486
.svn/pristine/72/72abe23d3b22df8e8ef89d6c274ae330235dd3b5.svn-base
Large diffs are not rendered by default.
Oops, something went wrong.
4,719 changes: 4,719 additions & 0 deletions
4,719
.svn/pristine/83/83b183c3248eca129547a04022ae31a571f428f5.svn-base
Large diffs are not rendered by default.
Oops, something went wrong.
106 changes: 106 additions & 0 deletions
106
.svn/pristine/8c/8cbb14fd9b011521dcf29d3a2475f8d42db99122.svn-base
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
// Copyright (c) 2012-2016 The Bitcoin Core developers | ||
// Distributed under the MIT software license, see the accompanying | ||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
#include "clientversion.h" | ||
|
||
#include "tinyformat.h" | ||
|
||
#include <string> | ||
|
||
/** | ||
* Name of client reported in the 'version' message. Report the same name | ||
* for both bitcoind and bitcoin-core, to make it harder for attackers to | ||
* target servers or GUI users specifically. | ||
*/ | ||
const std::string CLIENT_NAME("ipchain"); | ||
|
||
const std::string IPCHAIN_VERSION("V0.1.2"); | ||
|
||
/** | ||
* Client version number | ||
*/ | ||
#define CLIENT_VERSION_SUFFIX "" | ||
|
||
|
||
/** | ||
* The following part of the code determines the CLIENT_BUILD variable. | ||
* Several mechanisms are used for this: | ||
* * first, if HAVE_BUILD_INFO is defined, include build.h, a file that is | ||
* generated by the build environment, possibly containing the output | ||
* of git-describe in a macro called BUILD_DESC | ||
* * secondly, if this is an exported version of the code, GIT_ARCHIVE will | ||
* be defined (automatically using the export-subst git attribute), and | ||
* GIT_COMMIT will contain the commit id. | ||
* * then, three options exist for determining CLIENT_BUILD: | ||
* * if BUILD_DESC is defined, use that literally (output of git-describe) | ||
* * if not, but GIT_COMMIT is defined, use v[maj].[min].[rev].[build]-g[commit] | ||
* * otherwise, use v[maj].[min].[rev].[build]-unk | ||
* finally CLIENT_VERSION_SUFFIX is added | ||
*/ | ||
|
||
//! First, include build.h if requested | ||
#ifdef HAVE_BUILD_INFO | ||
#include "build.h" | ||
#endif | ||
|
||
//! git will put "#define GIT_ARCHIVE 1" on the next line inside archives. | ||
#define GIT_ARCHIVE 1 | ||
#ifdef GIT_ARCHIVE | ||
#define GIT_COMMIT_ID "964a185cc83" | ||
#define GIT_COMMIT_DATE "Thu, 20 Apr 2017 11:28:25 +0200" | ||
#endif | ||
|
||
#define BUILD_DESC_WITH_SUFFIX(maj, min, rev, build, suffix) \ | ||
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-" DO_STRINGIZE(suffix) | ||
|
||
#define BUILD_DESC_FROM_COMMIT(maj, min, rev, build, commit) \ | ||
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-g" commit | ||
|
||
#define BUILD_DESC_FROM_UNKNOWN(maj, min, rev, build) \ | ||
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-unk" | ||
|
||
#ifndef BUILD_DESC | ||
#ifdef BUILD_SUFFIX | ||
#define BUILD_DESC BUILD_DESC_WITH_SUFFIX(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, BUILD_SUFFIX) | ||
#elif defined(GIT_COMMIT_ID) | ||
#define BUILD_DESC BUILD_DESC_FROM_COMMIT(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, GIT_COMMIT_ID) | ||
#else | ||
#define BUILD_DESC BUILD_DESC_FROM_UNKNOWN(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD) | ||
#endif | ||
#endif | ||
|
||
const std::string CLIENT_BUILD(BUILD_DESC CLIENT_VERSION_SUFFIX); | ||
|
||
static std::string FormatVersion(int nVersion) | ||
{ | ||
if (nVersion % 100 == 0) | ||
return strprintf("%d.%d.%d", nVersion / 1000000, (nVersion / 10000) % 100, (nVersion / 100) % 100); | ||
else | ||
return strprintf("%d.%d.%d.%d", nVersion / 1000000, (nVersion / 10000) % 100, (nVersion / 100) % 100, nVersion % 100); | ||
} | ||
|
||
std::string FormatFullVersion() | ||
{ | ||
return CLIENT_BUILD; | ||
} | ||
|
||
/** | ||
* Format the subversion field according to BIP 14 spec (https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki) | ||
*/ | ||
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(); | ||
} |
Oops, something went wrong.