| 108 | } |
| 109 | |
| 110 | bool json_to_double(const char *buffer, const jsmntok_t *tok, double *num) |
| 111 | { |
| 112 | char *end; |
| 113 | |
| 114 | errno = 0; |
| 115 | *num = strtod(buffer + tok->start, &end); |
| 116 | if (end != buffer + tok->end) |
| 117 | return false; |
| 118 | |
| 119 | /* Check for overflow/underflow */ |
| 120 | if (errno == ERANGE) |
| 121 | return false; |
| 122 | |
| 123 | return true; |
| 124 | } |
| 125 | |
| 126 | bool json_to_u32(const char *buffer, const jsmntok_t *tok, u32 *num) |
| 127 | { |