summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
Diffstat (limited to 'node')
-rw-r--r--node/Network.cpp18
-rw-r--r--node/Network.hpp45
2 files changed, 7 insertions, 56 deletions
diff --git a/node/Network.cpp b/node/Network.cpp
index 11e7c455..bc651661 100644
--- a/node/Network.cpp
+++ b/node/Network.cpp
@@ -80,21 +80,15 @@ bool Network::Certificate::qualifyMembership(const Network::Certificate &mc) con
// indicates a floating point comparison. Otherwise an integer
// comparison occurs.
if (deltaField->second.find('.') != std::string::npos) {
- double my = strtod(myField->second.c_str(),(char **)0);
- double their = strtod(theirField->second.c_str(),(char **)0);
- double delta = strtod(deltaField->second.c_str(),(char **)0);
+ double my = Utils::strToDouble(myField->second.c_str());
+ double their = Utils::strToDouble(theirField->second.c_str());
+ double delta = Utils::strToDouble(deltaField->second.c_str());
if (fabs(my - their) > delta)
return false;
} else {
-#ifdef __WINDOWS__
- int64_t my = _strtoi64(myField->second.c_str(),(char **)0,10);
- int64_t their = _strtoi64(theirField->second.c_str(),(char **)0,10);
- int64_t delta = _strtoi64(deltaField->second.c_str(),(char **)0,10);
-#else
- int64_t my = strtoll(myField->second.c_str(),(char **)0,10);
- int64_t their = strtoll(theirField->second.c_str(),(char **)0,10);
- int64_t delta = strtoll(deltaField->second.c_str(),(char **)0,10);
-#endif
+ uint64_t my = Utils::hexStrToU64(myField->second.c_str());
+ uint64_t their = Utils::hexStrToU64(theirField->second.c_str());
+ uint64_t delta = Utils::hexStrToU64(deltaField->second.c_str());
if (my > their) {
if ((my - their) > delta)
return false;
diff --git a/node/Network.hpp b/node/Network.hpp
index 6340c049..6e79705d 100644
--- a/node/Network.hpp
+++ b/node/Network.hpp
@@ -91,49 +91,6 @@ public:
Certificate(const std::string &s) : Dictionary(s) {}
inline std::string toString() const { return Dictionary::toString(); }
- inline void setNetworkId(uint64_t id)
- {
- char buf[32];
- Utils::snprintf(buf,sizeof(buf),"%.16llx",(unsigned long long)id);
- (*this)["nwid"] = buf;
- }
-
- inline uint64_t networkId() const
- throw(std::invalid_argument)
- {
-#ifdef __WINDOWS__
- return _strtoui64(get("nwid").c_str(),(char **)0,16);
-#else
- return strtoull(get("nwid").c_str(),(char **)0,16);
-#endif
- }
-
- inline void setPeerAddress(Address &a)
- {
- (*this)["peer"] = a.toString();
- }
-
- inline Address peerAddress() const
- throw(std::invalid_argument)
- {
- return Address(get("peer"));
- }
-
- /**
- * Set the timestamp and timestamp max-delta
- *
- * @param ts Timestamp in ms since epoch
- * @param maxDelta Maximum difference between two peers on the same network
- */
- inline void setTimestamp(uint64_t ts,uint64_t maxDelta)
- {
- char foo[32];
- Utils::snprintf(foo,sizeof(foo),"%llu",(unsigned long long)ts);
- (*this)["ts"] = foo;
- Utils::snprintf(foo,sizeof(foo),"%llu",(unsigned long long)maxDelta);
- (*this)["~ts"] = foo;
- }
-
/**
* Sign this certificate
*
@@ -381,7 +338,7 @@ public:
if (!Utils::scopy(tmp,sizeof(tmp),get("et","").c_str()))
return et; // sanity check, packet can't really be that big
for(char *f=Utils::stok(tmp,",",&saveptr);(f);f=Utils::stok((char *)0,",",&saveptr)) {
- unsigned int t = Utils::strToUInt(f);
+ unsigned int t = Utils::hexStrToUInt(f);
if (t)
et.insert(t);
}