From b6aed6ad7802af44ab9d98803c28afe1a019e625 Mon Sep 17 00:00:00 2001 From: mcolonna Date: Thu, 4 Jul 2024 11:52:22 +0200 Subject: [PATCH] things --- Makefile | 4 +-- include/builtins.h | 6 ++-- src/builtin.c | 5 ++-- ...{export_print.c => export_print_builtin.c} | 30 +++++++++++-------- 4 files changed, 25 insertions(+), 20 deletions(-) rename src/{export_print.c => export_print_builtin.c} (60%) diff --git a/Makefile b/Makefile index 37004ce..3ed2164 100644 --- a/Makefile +++ b/Makefile @@ -5,8 +5,8 @@ SRCS = src/ # include directory INCLUDES = include/ libtf/ libft/ # .c files in src/ without the extension -CODE = main ask_command error path parse_command exec_command builtin builtin2 export_print\ - signals cool_readline variables parse_command_utils \ +CODE = main ask_command error path parse_command exec_command builtin builtin2 \ + signals cool_readline variables parse_command_utils export_print_builtin \ parse_command_read_string parse_command_read_element variables_utils # directories to 'make' LIBRARIES = libtf libft diff --git a/include/builtins.h b/include/builtins.h index 0e32349..9407cea 100644 --- a/include/builtins.h +++ b/include/builtins.h @@ -6,7 +6,7 @@ /* By: jschaft +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/23 14:15:12 by mcolonna #+# #+# */ -/* Updated: 2024/07/03 18:59:22 by jschaft ### ########.fr */ +/* Updated: 2024/07/04 11:48:47 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,8 +27,8 @@ int echo_builtin(t_env *env, t_call call); // Execute cd builtin int cd_builtin(t_env *env, t_call call); -//Execute builtin with no arguments -int export_print_builtin(char *const *envp); +// Execute export builtin with no arguments +int export_print_builtin(t_env *env, t_call call); // Execute export builtin int export_builtin(t_env *env, t_call call); diff --git a/src/builtin.c b/src/builtin.c index 6f3af05..337aab1 100644 --- a/src/builtin.c +++ b/src/builtin.c @@ -6,7 +6,7 @@ /* By: jschaft +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/03 12:02:45 by jschaft #+# #+# */ -/* Updated: 2024/07/03 18:57:09 by jschaft ### ########.fr */ +/* Updated: 2024/07/04 11:36:00 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -86,8 +86,7 @@ int exec_builtin(t_env *env, t_call call) if (ft_strncmp(call.program, "unset", 6) == 0) exit (unset_builtin(env, call)); if (ft_strncmp(call.program, "export", 6) == 0 && call.argc == 1) - exit (export_print_builtin(variables_envp(env->variables, - mem_subclass(fatal_error, env->mc_global)))); + exit (export_print_builtin(env, call)); if (ft_strncmp(call.program, "pwd", 4) == 0) exit (pwd_builtin(env, call)); if (ft_strncmp(call.program, "echo", 5) == 0) diff --git a/src/export_print.c b/src/export_print_builtin.c similarity index 60% rename from src/export_print.c rename to src/export_print_builtin.c index b64e2cd..aab6a66 100644 --- a/src/export_print.c +++ b/src/export_print_builtin.c @@ -1,42 +1,48 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* export_print.c :+: :+: :+: */ +/* export_print_builtin.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: jschaft +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/07/03 18:57:19 by jschaft #+# #+# */ -/* Updated: 2024/07/03 18:58:53 by jschaft ### ########.fr */ +/* Updated: 2024/07/04 11:50:07 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ #include "include.h" -int export_print_builtin(char *const *envp) +int export_print_builtin(t_env *env, t_call call) { - int i; - int i2; + int i; + int i2; + const t_memclass mc = mem_subclass(fatal_error, env->mc_global); + char *const *envp = variables_envp(env->variables, mc); + char c[2]; - i2 = 0; + (void)call; i = 0; + c[1] = '\0'; while (envp[i]) { - printf("declare -x "); + i2 = 0; + print_str(fatal_error, 1, "declare -x "); while (envp[i][i2] != '=') { - printf("%c", envp[i][i2]); + c[0] = envp[i][i2]; + print_str(fatal_error, 1, c); i2++; } - printf("=\""); + print_str(fatal_error, 1, "=\""); i2++; while (envp[i][i2]) { - printf("%c", envp[i][i2]); + c[0] = envp[i][i2]; + print_str(fatal_error, 1, c); i2++; } - printf("\"\n"); + print_str(fatal_error, 1, "\"\n"); i++; - i2++; } return (0); }