summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-10-21 19:31:13 +0200
committerJozanLeClerc <bousset.rudy@gmail.com>2020-10-21 19:31:13 +0200
commit8f9dec7fc2b24465ac8c0b96f5f55570ff7ed5e6 (patch)
treeedde3f0c6e210f6426d8d6ad756e40ddbbebf687 /src
parentRemoved TODO (diff)
download42-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 'src')
-rw-r--r--src/s_lpipes.c11
-rw-r--r--src/s_lpipes_split.c32
-rw-r--r--src/s_lpipes_split.h20
3 files changed, 60 insertions, 3 deletions
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