From bfea75a386a40046491788dbdd15866d01893ab2 Mon Sep 17 00:00:00 2001 From: tylen Date: Wed, 25 Sep 2024 18:24:58 +0000 Subject: [PATCH] cmd: extend CommandLineArg with id issue: #2 --- src/cmd.c | 11 +++++++++-- src/cmd.h | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cmd.c b/src/cmd.c index 51e9c6f..d500afe 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -48,6 +48,7 @@ static struct CommandLineArg* renderArgById(ArgNameId name) { e->name = NULL; e->description = NULL; e->value = NULL; + e->id = name; if (PREDEFINED_ARG_NAMES[name]) { e->name = cdo_malloc(strlen(PREDEFINED_ARG_NAMES[name]) + 1); strcpy(e->name, PREDEFINED_ARG_NAMES[name]); @@ -63,11 +64,16 @@ static struct CommandLineArg* renderArgById(ArgNameId name) { return e; } -static struct CommandLineArg* renderArgByValues(const char* name, const char* description, const char* value) { +static struct CommandLineArg* renderArgByValues( + const char* name, + const char* description, + const char* value, + ArgNameId id) { struct CommandLineArg* e = cdo_malloc(sizeof(struct CommandLineArg)); e->name = NULL; e->description = NULL; e->value = NULL; + e->id = id; if (name) { e->name = cdo_malloc(strlen(name) + 1); strcpy(e->name, name); @@ -179,7 +185,8 @@ struct ArgList* parse_args(const int argc, char* argv[]) { renderArgByValues( PREDEFINED_ARG_NAMES[current_arg], NULL, - argv[next_iterator] + argv[next_iterator], + current_arg ) ); break; diff --git a/src/cmd.h b/src/cmd.h index 16dd097..8869f33 100644 --- a/src/cmd.h +++ b/src/cmd.h @@ -18,6 +18,7 @@ struct CommandLineArg { char* name; char* description; char* value; + ArgNameId id; }; struct ArgList {