#include "yajl_parser.h" #include <errno.h> #include <util/string/cast.h> long long yajl_parse_integer(const unsigned char *number, unsigned int length) { try { return FromString<long long>((const char*)number, length); } catch (const yexception& ex) { errno = ERANGE; return (*number == '-') ? LLONG_MIN : LLONG_MAX; } } unsigned long long yajl_parse_unsigned_integer(const unsigned char *number, unsigned int length) { try { return FromString<unsigned long long>((const char*)number, length); } catch (const yexception& ex) { errno = ERANGE; return (*number == '-') ? 0ull : ULLONG_MAX; } } extern "C" void FormatDoubleYandex(char* buf, size_t len, double val) { buf[ToString(val, buf, len)] = 0; }