mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-12 20:28:27 +00:00
New simpler command interface via loopback UDP protected by a crypto token.
This commit is contained in:
@ -28,6 +28,7 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include "Utils.hpp"
|
||||
#include "Mutex.hpp"
|
||||
|
||||
@ -530,4 +531,20 @@ std::string Utils::trim(const std::string &s)
|
||||
return s.substr(start,end - start);
|
||||
}
|
||||
|
||||
void Utils::stdsprintf(std::string &s,const char *fmt,...)
|
||||
throw(std::bad_alloc,std::length_error)
|
||||
{
|
||||
char buf[65536];
|
||||
va_list ap;
|
||||
|
||||
va_start(ap,fmt);
|
||||
int n = vsnprintf(buf,sizeof(buf),fmt,ap);
|
||||
va_end(ap);
|
||||
|
||||
if ((n >= (int)sizeof(buf))||(n < 0))
|
||||
throw std::length_error("printf result too large");
|
||||
|
||||
s.append(buf);
|
||||
}
|
||||
|
||||
} // namespace ZeroTier
|
||||
|
Reference in New Issue
Block a user