| 220 | } |
| 221 | |
| 222 | static void parse_number(const char **guide, u32 *number) |
| 223 | { |
| 224 | char *endp; |
| 225 | long int l; |
| 226 | |
| 227 | errno = 0; |
| 228 | l = strtol(*guide, &endp, 10); |
| 229 | assert(endp != *guide); |
| 230 | assert(errno != ERANGE); |
| 231 | |
| 232 | /* Test for overflow */ |
| 233 | *number = l; |
| 234 | assert(*number == l); |
| 235 | |
| 236 | *guide = endp; |
| 237 | } |
| 238 | |
| 239 | static char guide_consume_one(const char **guide) |
| 240 | { |