| 1330 | }; |
| 1331 | |
| 1332 | static unsigned int |
| 1333 | opt_uint(char *val) |
| 1334 | { |
| 1335 | // This accepts unsigned values which also fit within a signed int |
| 1336 | char *end; |
| 1337 | errno = 0; |
| 1338 | unsigned long int x = strtoul(val, &end, 10); |
| 1339 | if (errno || end == val || end && *end) |
| 1340 | usage("Invalid numeric parameter: %s\n", val); |
| 1341 | if (x > INT_MAX) |
| 1342 | usage("Numeric parameter out of range: %s\n", val); |
| 1343 | return x; |
| 1344 | } |
| 1345 | |
| 1346 | int |
| 1347 | main(int argc, char **argv) |