From 9de01be5d18eb08c3e18d3471929787471630aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Le=20Bihan?= Date: Wed, 20 May 2020 12:12:07 +0200 Subject: [PATCH] inhibitors working but pre process made by aliases makes some limits --- include/parser.h | 1 + src/parser/parser.c | 3 ++- src/prompt.c | 8 +++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/include/parser.h b/include/parser.h index bfcade9..a7618e8 100644 --- a/include/parser.h +++ b/include/parser.h @@ -14,4 +14,5 @@ typedef struct parser_map { int (*parser)(char *, char **); } parser_map; +char **parse_input(char *cmd); int parse_quotes(char *ptr, char **data); \ No newline at end of file diff --git a/src/parser/parser.c b/src/parser/parser.c index 1943377..30a4ea8 100644 --- a/src/parser/parser.c +++ b/src/parser/parser.c @@ -10,6 +10,7 @@ #include "redirections.h" #include #include +#include #include #include #include @@ -77,7 +78,7 @@ char **parse_input(char *cmd) new = strndup(ptr, inc); if (!new) return (NULL); - new[strlen(new) - 1] = '\0'; + new[inc - 1] = '\0'; ret[ret_inc++] = new; ptr = cmd + i + 1; inc = 0; diff --git a/src/prompt.c b/src/prompt.c index 1c231e6..5317e2e 100644 --- a/src/prompt.c +++ b/src/prompt.c @@ -10,6 +10,7 @@ #include "shell.h" #include "builtin.h" #include "redirections.h" +#include "parser.h" #include "utility.h" #include #include @@ -32,8 +33,13 @@ const builtin builtins[] = { int prompt_run(char *cmd, redirection *inout[2], env_t *env) { - char **argv = get_argv(cmd); + //char **argv = get_argv(cmd); + char **argv = parse_input(cmd); + for (int i = 0; argv[i]; i++) { + printf("'%s'\n", argv[i]); + } + return (0); if (!argv) { perror("mysh"); return (-1);