ulib Add ARG_INT type to argument parser
This commit is contained in:
@ -22,6 +22,10 @@ int32_t parse_args(char **argv, size_t argc, Arg *defs) {
|
||||
case ARG_BOOL:
|
||||
*((bool *)def->ptr) = string_strcmp(argv[i+1], "yes") == 0;
|
||||
break;
|
||||
case ARG_INT: {
|
||||
char *end;
|
||||
*((int32_t *)def->ptr) = string_conv_strtol(argv[i+1], &end, 10);
|
||||
} break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
@ -10,7 +10,11 @@ size_t argslen(void);
|
||||
|
||||
typedef struct {
|
||||
char *shortname;
|
||||
enum { ARG_STRING, ARG_BOOL } expected_value;
|
||||
enum {
|
||||
ARG_STRING,
|
||||
ARG_BOOL,
|
||||
ARG_INT,
|
||||
} expected_value;
|
||||
void *ptr;
|
||||
bool end;
|
||||
} Arg;
|
||||
|
Reference in New Issue
Block a user