diff options
author | JozanLeClerc <bousset.rudy@gmail.com> | 2020-09-06 18:25:02 +0200 |
---|---|---|
committer | JozanLeClerc <bousset.rudy@gmail.com> | 2020-09-06 18:25:02 +0200 |
commit | 9ed927a6d4fd26dcdc7c094a0001521f072d8ae4 (patch) | |
tree | 1ad8c70b67ccc85d9776f39768aaf28e24ffcf7b | |
parent | Gitignore update (diff) | |
download | 42-minishell-9ed927a6d4fd26dcdc7c094a0001521f072d8ae4.tar.gz 42-minishell-9ed927a6d4fd26dcdc7c094a0001521f072d8ae4.tar.bz2 42-minishell-9ed927a6d4fd26dcdc7c094a0001521f072d8ae4.tar.xz 42-minishell-9ed927a6d4fd26dcdc7c094a0001521f072d8ae4.tar.zst 42-minishell-9ed927a6d4fd26dcdc7c094a0001521f072d8ae4.zip |
Update
-rw-r--r-- | TODO.org | 1 | ||||
-rw-r--r-- | src/b_echo.c | 66 | ||||
-rw-r--r-- | src/p_args.c | 27 | ||||
-rw-r--r-- | src/p_args_escape.c | 2 |
4 files changed, 17 insertions, 79 deletions
@@ -7,6 +7,7 @@ ** DONE [#A] fix pwd when cd / ** DONE [#A] Multiline pipes (ls |) ** TODO [#A] Go full tok + quotes +** TODO [#A] Variables quotes qwe="okokoko kkok" asd='bav' ** TODO [#A] ls qweqwe; echo $? <---- substitute ** TODO [#A] Careful p_line \; ** TODO [#A] <>> diff --git a/src/b_echo.c b/src/b_echo.c index ec66049..b3d4953 100644 --- a/src/b_echo.c +++ b/src/b_echo.c @@ -18,79 +18,16 @@ #include "s_struct.h" #include "u_utils.h" -/* TODO: echo "quoted text", echo 'quoted text', done*/ -/* echo kill\nbackslash\nbut\nnot\nn, echo "quoted\nnew\nlines", done */ -/* full buffer */ - -void - e_put(char *str, - uint8_t op) -{ - size_t i; - - i = -1; - if (op == 0) - while (str[++i]) - { - if (str[i] == '\\') - i++; - ft_putchar(str[i]); - } -} - -char - *e_initb(char *ptr[], - char *str) -{ - size_t len; - uint8_t i; - - len = 0; - i = -1; - while (ptr[++i]) - { - len += ft_strlen(ptr[i]); - } - if (!(str = (char*)malloc(len * sizeof(char)))) - return (NULL); - return (str); -} - -/***********************************************/ -/* void */ -/* e_fill(char *ptr[], char **str) */ -/* { */ -/* char *bs; */ -/* */ -/* ft_sprintf(*str, "%s", *ptr); */ -/* if (*str[0] == '\"' || *str[0] == '\'') */ -/* { */ -/* *str = ft_strtrim(*str, "\"\'"); */ -/* ft_printf("%s", *str); */ -/* } */ -/* else if ((bs = ft_strrchr(*str, '\\'))) */ -/* { */ -/* e_put(*str, 0); */ -/* } */ -/* else */ -/* ft_printf("%s", *str); */ -/* } */ -/***********************************************/ - uint8_t - b_echo(char *args[], - t_msh *msh) + b_echo(char *args[], t_msh *msh) { const uint64_t argc = u_builtins_get_argc((const char **)args); char **ptr; - char *str; int8_t nopt; (void)msh; ptr = args; nopt = 0; - str = NULL; - str = e_initb(ptr, str); if (argc >= 1) { if (ft_strncmp(ptr[0], "-n", 3) == 0) @@ -109,7 +46,6 @@ uint8_t } } } - ft_memdel((void*)&str); if (nopt == 0) ft_printf("\n"); return (0); diff --git a/src/p_args.c b/src/p_args.c index 7f5302f..79f66bd 100644 --- a/src/p_args.c +++ b/src/p_args.c @@ -24,18 +24,18 @@ /* TODO: DELETE THIS */ /* ================= */ -/* static void */ -/* p_print(char *words[]) */ -/* { */ -/* char **ptr; */ - -/* ptr = words; */ -/* while (*ptr != NULL) */ -/* { */ -/* ft_printf("[%s]\n", *ptr); */ -/* ptr++; */ -/* } */ -/* } */ +static void +p_print(char *words[]) +{ + char **ptr; + + ptr = words; + while (*ptr != NULL) + { + ft_printf("[%s]\n", *ptr); + ptr++; + } +} /* ================== */ /* TODO: DELETE ABOVE */ @@ -166,6 +166,8 @@ static char return (NULL); } p_args_escape_chars_and_quotes(words); + p_print(words); + exit(0); return (words); } @@ -179,7 +181,6 @@ char { if ((words = p_split_words_no_rdr(word)) == NULL) return (NULL); - exit(0); return (words); } return (words); diff --git a/src/p_args_escape.c b/src/p_args_escape.c index 834d9f7..ed319a1 100644 --- a/src/p_args_escape.c +++ b/src/p_args_escape.c @@ -108,7 +108,7 @@ static void { if (*ptr == C_SQUOTE) mode = p_escape_squote(ptr, &ptr, word, mode); - else if (*ptr == C_DQUOTE) + if (*ptr == C_DQUOTE) mode = p_escape_dquote(ptr, &ptr, word, mode); if (*ptr == C_BACKS) p_escape_bs(ptr, &ptr, word, mode); |