From e5393671a265e1c301c6c303f21f938c4cf9ca75 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 2 Apr 2020 15:50:13 +0200 Subject: Evaluation pipe frame (not tested) --- src/builtin/cd.c | 10 +++------- src/builtin/echo.c | 6 +++--- src/builtin/export.c | 4 ++-- src/builtin/unset.c | 5 ++++- 4 files changed, 12 insertions(+), 13 deletions(-) (limited to 'src/builtin') diff --git a/src/builtin/cd.c b/src/builtin/cd.c index 66f1f81..1a7c70e 100644 --- a/src/builtin/cd.c +++ b/src/builtin/cd.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 17:10:20 by charles #+# #+# */ -/* Updated: 2020/04/01 22:15:49 by charles ### ########.fr */ +/* Updated: 2020/04/02 11:33:15 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,14 +19,10 @@ int builtin_cd(char **argv, t_env env) { - char *path; - - path = argv[1]; + (void)env; if (argv[1] == NULL) - path = env_search(env, "HOME"); - if (path == NULL) return (1); - if (chdir(path) == -1) + if (chdir(argv[1]) == -1) return (1); return (0); } diff --git a/src/builtin/echo.c b/src/builtin/echo.c index 9b7a8f6..886c2ca 100644 --- a/src/builtin/echo.c +++ b/src/builtin/echo.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 17:10:47 by charles #+# #+# */ -/* Updated: 2020/04/01 17:10:48 by charles ### ########.fr */ +/* Updated: 2020/04/02 11:18:16 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,8 +22,8 @@ int builtin_echo(char **argv, t_env env) bool newline; (void)env; - newline = ft_strcmp(argv[1], "-n") == 0; - if (newline) + newline = !ft_strcmp(argv[1], "-n") == 0; + if (!newline) argv++; while (*++argv != NULL) { diff --git a/src/builtin/export.c b/src/builtin/export.c index 650a421..3636407 100644 --- a/src/builtin/export.c +++ b/src/builtin/export.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 17:11:34 by charles #+# #+# */ -/* Updated: 2020/04/01 22:37:47 by charles ### ########.fr */ +/* Updated: 2020/04/02 10:46:27 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,7 +25,7 @@ int builtin_export(char **argv, t_env env) return (1); if ((tmp = ft_strdup(argv[1])) == NULL) return (2); - if (ft_vecpush(env, tmp) == NULL) + if (ft_vecinsert(env, env->size - 1, tmp) == NULL) return (2); // internal error code return (0); } diff --git a/src/builtin/unset.c b/src/builtin/unset.c index ffcf60f..146b755 100644 --- a/src/builtin/unset.c +++ b/src/builtin/unset.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 17:10:51 by charles #+# #+# */ -/* Updated: 2020/04/01 23:05:33 by charles ### ########.fr */ +/* Updated: 2020/04/02 11:17:03 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,10 +25,13 @@ int builtin_unset(char **argv, t_env env) return (1); i = 0; while (i < env->size) + { if (ft_strncmp(env->data[i], argv[1], ft_strlen(argv[1])) == 0) { ft_vecremove(env, i, free); return (0); } + i++; + } return (1); } -- cgit From c0e2ee28eedc1a9a886f9729a994d77738e2eb58 Mon Sep 17 00:00:00 2001 From: Charles Date: Fri, 3 Apr 2020 15:13:08 +0200 Subject: Refactoring env, connecting pipes, preprocess draft --- src/builtin/cd.c | 3 ++- src/builtin/export.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/builtin') diff --git a/src/builtin/cd.c b/src/builtin/cd.c index 1a7c70e..ed0b3cc 100644 --- a/src/builtin/cd.c +++ b/src/builtin/cd.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 17:10:20 by charles #+# #+# */ -/* Updated: 2020/04/02 11:33:15 by charles ### ########.fr */ +/* Updated: 2020/04/03 12:11:52 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,6 +19,7 @@ int builtin_cd(char **argv, t_env env) { + //change $PWD (void)env; if (argv[1] == NULL) return (1); diff --git a/src/builtin/export.c b/src/builtin/export.c index 3636407..1d362b3 100644 --- a/src/builtin/export.c +++ b/src/builtin/export.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 17:11:34 by charles #+# #+# */ -/* Updated: 2020/04/02 10:46:27 by charles ### ########.fr */ +/* Updated: 2020/04/03 12:11:38 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,6 +21,8 @@ int builtin_export(char **argv, t_env env) { char *tmp; + // modify existing + // set with no string without '=' if (ft_strchr(argv[1], '=') == NULL) return (1); if ((tmp = ft_strdup(argv[1])) == NULL) -- cgit