parse_ulong
err = parse_ulong(argv[1], strlen(argv[1]), &which, 10);
int parse_ulong(const char *buffer, size_t count, unsigned long *result, int base);
return parse_ulong(buffer, sizeof(buffer), result, base);