diff --git a/ulib/args/args.c b/ulib/args/args.c index 89c4da9..20c658d 100644 --- a/ulib/args/args.c +++ b/ulib/args/args.c @@ -19,6 +19,9 @@ int32_t parse_args(char **argv, size_t argc, Arg *defs) { case ARG_STRING: *((char **)def->ptr) = argv[i+1]; break; + case ARG_BOOL: + *((bool *)def->ptr) = string_strcmp(argv[i+1], "yes") == 0; + break; } i++; } diff --git a/ulib/args/args.h b/ulib/args/args.h index 38db4f9..4d19828 100644 --- a/ulib/args/args.h +++ b/ulib/args/args.h @@ -10,7 +10,7 @@ size_t argslen(void); typedef struct { char *shortname; - enum { ARG_STRING } expected_value; + enum { ARG_STRING, ARG_BOOL } expected_value; void *ptr; bool end; } Arg;