diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-10-01 12:37:18 -0700 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-10-01 12:37:18 -0700 |
commit | a7409850d6f01db9558088127d7975cb9e6d2191 (patch) | |
tree | 756687f4ae123d6f7a305830494637bb5d25d4f2 /service | |
parent | 53e5f94b996af73517940cb70d8bf8ca8c7b112f (diff) | |
download | infinitytier-a7409850d6f01db9558088127d7975cb9e6d2191.tar.gz infinitytier-a7409850d6f01db9558088127d7975cb9e6d2191.zip |
Get trim() out of core where it is not needed.
Diffstat (limited to 'service')
-rw-r--r-- | service/OneService.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/service/OneService.cpp b/service/OneService.cpp index 6e6de8bd..35f8e806 100644 --- a/service/OneService.cpp +++ b/service/OneService.cpp @@ -338,6 +338,25 @@ public: static BackgroundSoftwareUpdateChecker backgroundSoftwareUpdateChecker; #endif // ZT_AUTO_UPDATE +static std::string _trimString(const std::string &s) +{ + unsigned long end = (unsigned long)s.length(); + while (end) { + char c = s[end - 1]; + if ((c == ' ')||(c == '\r')||(c == '\n')||(!c)||(c == '\t')) + --end; + else break; + } + unsigned long start = 0; + while (start < end) { + char c = s[start]; + if ((c == ' ')||(c == '\r')||(c == '\n')||(!c)||(c == '\t')) + ++start; + else break; + } + return s.substr(start,end - start); +} + class OneServiceImpl; static int SnodeVirtualNetworkConfigFunction(ZT_Node *node,void *uptr,uint64_t nwid,enum ZT_VirtualNetworkConfigOperation op,const ZT_VirtualNetworkConfig *nwconf); @@ -521,7 +540,7 @@ public: } else OSUtils::lockDownFile(authTokenPath.c_str(),false); } } - authToken = Utils::trim(authToken); + authToken = _trimString(authToken); _node = new Node( OSUtils::now(), |