21namespace score::puppet
26inline std::string json_escape(std::string_view s)
28 static constexpr char hex[] =
"0123456789abcdef";
30 out.reserve(s.size() + 8);
31 for(
unsigned char c : s)
60 out += hex[(c >> 4) & 0xf];
73inline std::string json_escape(
const char* s)
75 return s ? json_escape(std::string_view{s}) :
std::string{};
92parse_arguments(
int argc,
char** argv,
int default_port)
noexcept
95 res.port = default_port;
103 auto to_int = [](
const char* str,
int fallback) {
105 std::string_view sv{str};
106 auto [ptr, ec] = std::from_chars(sv.data(), sv.data() + sv.size(), value);
107 if(ec != std::errc{} || ptr != sv.data() + sv.size())
115 res.request_id = to_int(argv[2], -1);
118 if(
int p = to_int(argv[3], 0); p > 0 && p <= 65535)
Definition PuppetJson.hpp:79