From f04041ae9619ce27a4a91ad762fb7a5ee19289ed Mon Sep 17 00:00:00 2001 From: "S.J.R. van Schaik" Date: Thu, 20 Jul 2017 16:17:54 +0200 Subject: [PATCH] main: test parsing command line into arguments --- source/main.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/source/main.c b/source/main.c index d72e068..2bc2795 100644 --- a/source/main.c +++ b/source/main.c @@ -1,4 +1,6 @@ #include +#include +#include #include #include @@ -14,6 +16,9 @@ char admin_line[128]; int main(void) { + char **argv; + size_t argc, i; + rcc_init(); gpio_init(); user_con = console_init(0); @@ -28,14 +33,26 @@ int main(void) while (1) { if (console_getline(user_con, user_line, 128) == 0) { - fprintf(user_io, "user: %s\n", user_line); - fprintf(admin_io, "user: %s\n", user_line); + argv = parse_args(user_line, &argc); + + for (i = 0; i < argc; ++i) { + fprintf(user_io, "user: %s\n", argv[i]); + fprintf(admin_io, "user: %s\n", argv[i]); + } + + free(argv); *user_line = '\0'; } if (console_getline(admin_con, admin_line, 128) == 0) { - fprintf(admin_io, "admin: %s\n", admin_line); - fprintf(user_io, "admin: %s\n", admin_line); + argv = parse_args(admin_line, &argc); + + for (i = 0; i < argc; ++i) { + fprintf(admin_io, "admin: %s\n", argv[i]); + fprintf(user_io, "admin: %s\n", argv[i]); + } + + free(argv); *admin_line = '\0'; } }