diff --git a/src/cdo.c b/src/cdo.c index 930bb26..c58ca9f 100644 --- a/src/cdo.c +++ b/src/cdo.c @@ -13,8 +13,7 @@ static void __attribute__((constructor)) init_cdo(void) { int main (int argc, char *argv[]) { struct ArgList* args = parse_args(argc, argv); - for (size_t i = 0; i < args->size; i++) { - printf("Arg: %s, param: %s\n", args->args[i].name, args->args[i].value); - } + const char* project_path = extract_value_from_arg(args, ARG_PROJECT); + LOG_INFO("Project full path: %s", project_path); return 0; } diff --git a/src/cmd.c b/src/cmd.c index d500afe..092c47a 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -133,6 +133,15 @@ void append_arg(struct ArgList* list, struct CommandLineArg* arg) { list->size += 1; } +const char* extract_value_from_arg(struct ArgList* list, ArgNameId id) { + for (size_t i = 0; i < ARG_COUNT; i++) { + if (list->args[i].id == id) { + return list->args[i].value; + } + } + return NULL; +} + void free_arg_list(struct ArgList* list) { for (size_t i = 0; i < ARG_COUNT; i++) { cdo_free(list->args[i].name); diff --git a/src/cmd.h b/src/cmd.h index 8869f33..6fcd825 100644 --- a/src/cmd.h +++ b/src/cmd.h @@ -32,6 +32,7 @@ void init_cmd(void); void exit_cmd(void); struct ArgList* create_arg_list(size_t capacity); void append_arg(struct ArgList* list, struct CommandLineArg* arg); +const char* extract_value_from_arg(struct ArgList* list, ArgNameId id); void free_arg_list(struct ArgList* list); void usage(void); #endif /*__CMD_H__*/ \ No newline at end of file