diff options
author | JozanLeClerc <bousset.rudy@gmail.com> | 2020-10-21 19:31:13 +0200 |
---|---|---|
committer | JozanLeClerc <bousset.rudy@gmail.com> | 2020-10-21 19:31:13 +0200 |
commit | 8f9dec7fc2b24465ac8c0b96f5f55570ff7ed5e6 (patch) | |
tree | edde3f0c6e210f6426d8d6ad756e40ddbbebf687 | |
parent | Removed TODO (diff) | |
download | 42-minishell-8f9dec7fc2b24465ac8c0b96f5f55570ff7ed5e6.tar.gz 42-minishell-8f9dec7fc2b24465ac8c0b96f5f55570ff7ed5e6.tar.bz2 42-minishell-8f9dec7fc2b24465ac8c0b96f5f55570ff7ed5e6.tar.xz 42-minishell-8f9dec7fc2b24465ac8c0b96f5f55570ff7ed5e6.tar.zst 42-minishell-8f9dec7fc2b24465ac8c0b96f5f55570ff7ed5e6.zip |
In progress
Diffstat (limited to '')
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | src/s_lpipes.c | 11 | ||||
-rw-r--r-- | src/s_lpipes_split.c | 32 | ||||
-rw-r--r-- | src/s_lpipes_split.h | 20 |
4 files changed, 61 insertions, 3 deletions
@@ -70,6 +70,7 @@ SRCS_NAME += s_lalias SRCS_NAME += s_line SRCS_NAME += s_lvars SRCS_NAME += s_lpipes +# SRCS_NAME += s_lpipes_split SRCS_NAME += s_lredir SRCS_NAME += p_args SRCS_NAME += p_args_next diff --git a/src/s_lpipes.c b/src/s_lpipes.c index 7e2261a..23d0476 100644 --- a/src/s_lpipes.c +++ b/src/s_lpipes.c @@ -10,12 +10,15 @@ /* */ /* ************************************************************************** */ +#include <cstddef> #include <libft.h> #include <stdlib.h> #include <stdint.h> +#include <sys/types.h> #include "s_com.h" #include "s_line.h" +#include "s_lpipes_split.h" #include "s_lpipes.h" #include "s_struct.h" @@ -80,11 +83,13 @@ struct s_lpipes *s_lpipes_new(const char pipedword[], t_msh *msh) struct s_lpipes *s_split_pipes(const char word[], t_msh *msh) { struct s_lpipes *lpipes; - char **words; + size_t pos[256]; size_t i; - if ((words = ft_split(word, '|')) == NULL) - return (NULL); + ft_bzero(pos, 256 * sizeof(size_t)); + s_get_split_pos(pos, word); + + i = 0; while (words[i] != NULL) { diff --git a/src/s_lpipes_split.c b/src/s_lpipes_split.c new file mode 100644 index 0000000..da23f47 --- /dev/null +++ b/src/s_lpipes_split.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* s_lpipes_split.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include <libft.h> +#include <stdlib.h> +#include <stdint.h> + +#include "d_define.h" +#include "d_enum.h" + +void s_get_split_pos(size_t pos[], const char word[]) +{ + char *ptr; + t_quote_mode mode; + uint8_t i; + + ptr = (char*)word; + mode = Q_NONE; + i = 0; + while (*ptr != C_NUL) + { + } +} diff --git a/src/s_lpipes_split.h b/src/s_lpipes_split.h new file mode 100644 index 0000000..3a79dba --- /dev/null +++ b/src/s_lpipes_split.h @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* s_lpipes_split.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef S_LPIPES_SPLIT_H +# define S_LPIPES_SPLIT_H + +# include <stddef.h> + +void s_get_split_pos(size_t pos[], const char word[]); + +#endif |