From 44b5aa305c871937fe653f7608d87d63038a01bc Mon Sep 17 00:00:00 2001 From: kamkow1 Date: Fri, 19 Sep 2025 23:06:08 +0200 Subject: [PATCH] ulib Add ARG_INT type to argument parser --- ulib/args/args.c | 4 ++++ ulib/args/args.h | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ulib/args/args.c b/ulib/args/args.c index 20c658d..61f0d8f 100644 --- a/ulib/args/args.c +++ b/ulib/args/args.c @@ -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++; } diff --git a/ulib/args/args.h b/ulib/args/args.h index 4d19828..f9a2039 100644 --- a/ulib/args/args.h +++ b/ulib/args/args.h @@ -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;