From 81e0c7c4ee034fc8856ef7545ff57cd02bb547be Mon Sep 17 00:00:00 2001 From: Loic Deridder Date: Mon, 20 Jan 2025 13:20:00 +0100 Subject: [PATCH] small changes --- includes/env.h | 6 +++--- srcs/builtins/echo.c | 2 +- srcs/builtins/unset.c | 2 +- srcs/env/var.c | 30 +++++++++++++++--------------- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/includes/env.h b/includes/env.h index 26b80b1..a309a8c 100644 --- a/includes/env.h +++ b/includes/env.h @@ -13,12 +13,12 @@ typedef struct s_data //VAR int count_var(char **envp); -int get_var_index(char *key, char **envp); +int get_var_index(char *key, t_data *data); void free_null_ptr(void *ptr); char **copy_env_var(char **envp, int count); char *get_var_value(char *key, char **envp); -bool is_valid_key(char *key, char **envp); -int remove_env_var(char *key, char **envp); +bool is_valid_key(char *key, t_data *data); +int remove_env_var(char *key, t_data *data); void set_var_env(char *key, char *value, t_data *t_data); #endif diff --git a/srcs/builtins/echo.c b/srcs/builtins/echo.c index 4e32d94..b6471d7 100644 --- a/srcs/builtins/echo.c +++ b/srcs/builtins/echo.c @@ -52,7 +52,7 @@ int extractenv(char *str, char **envp) i++; if (i >= 1) tmp = ft_substr(str, 1, i - 1); - var = ft_getenv(tmp, envp); + var = get_var_value(tmp, envp); free(tmp); if (var) ft_printf("%s", var); diff --git a/srcs/builtins/unset.c b/srcs/builtins/unset.c index 32e9447..6b5d59f 100644 --- a/srcs/builtins/unset.c +++ b/srcs/builtins/unset.c @@ -25,5 +25,5 @@ int builtin_unset(char **arg, t_data *data) { if (count_var(arg) == 1) return (err_msg_cmd("unset", NULL, "not enough arguments", EXIT_FAILURE)); - return (remove_env_var(arg[1], data->env)); + return (remove_env_var(arg[1], data)); } diff --git a/srcs/env/var.c b/srcs/env/var.c index 7483071..74b9aa4 100644 --- a/srcs/env/var.c +++ b/srcs/env/var.c @@ -63,7 +63,7 @@ char *get_var_value(char *key, char **envp) return (NULL); } -bool is_valid_key(char *key, char **envp) +bool is_valid_key(char *key, t_data *data) { char *tmp; int i; @@ -71,9 +71,9 @@ bool is_valid_key(char *key, char **envp) tmp = ft_strjoin(key, "="); if (!tmp) return (false); - while (envp[i]) + while (data->env[i]) { - if (ft_strncmp(envp[i], tmp, ft_strlen(tmp)) == 0) + if (ft_strncmp(data->env[i], tmp, ft_strlen(tmp)) == 0) { free_null_ptr(tmp); return (true); @@ -84,7 +84,7 @@ bool is_valid_key(char *key, char **envp) return (false); } -int get_var_index(char *key, char **envp) +int get_var_index(char *key, t_data *data) { int i; char *new_key; @@ -93,9 +93,9 @@ int get_var_index(char *key, char **envp) if (!new_key) return (-1); i = 0; - while (envp[i]) + while (data->env[i]) { - if (ft_strncmp(envp[i], new_key, ft_strlen(new_key)) == 0) + if (ft_strncmp(data->env[i], new_key, ft_strlen(new_key)) == 0) { free_null_ptr(new_key); return (i); @@ -107,25 +107,25 @@ int get_var_index(char *key, char **envp) } -int remove_env_var(char *key, char **envp) +int remove_env_var(char *key, t_data *data) { int i; int j; - i = get_var_index(key, envp); + i = get_var_index(key, data); if (i == -1) return (0); j = i; - free_null_ptr(envp[i]); - while (envp[i + 1]) + free_null_ptr(data->env[i]); + while (data->env[i + 1]) { - envp[i] = ft_strdup(envp[i + 1]); - free_null_ptr(envp[i + 1]); + data->env[i] = ft_strdup(data->env[i + 1]); + free_null_ptr(data->env[i + 1]); j++; i++; } - envp = copy_env_var(envp, j); - if (!envp) + data->env = copy_env_var(data->env, j); + if (data->env) return (1); return (0); } @@ -135,7 +135,7 @@ void set_var_env(char *key, char *value, t_data *data) int i; char *tmp; - i = get_var_index(key, data->env); + i = get_var_index(key, data); if (!value) value = ""; tmp = ft_strjoin("=", value);