From 342c5868aad61936dcbe6ca05dc1ef7e08f0e082 Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Wed, 5 Aug 2020 21:15:42 +0200 Subject: New utils functions --- src/u_utils.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/u_utils.c') diff --git a/src/u_utils.c b/src/u_utils.c index 20c5cfc..a485fb3 100644 --- a/src/u_utils.c +++ b/src/u_utils.c @@ -14,6 +14,34 @@ #include #include +#include "f_fail.h" +#include "s_struct.h" + +char + **u_get_env_var_names(t_msh *msh) +{ + size_t i; + char **vars; + + i = 0; + while (msh->envp[i] != NULL) + i++; + if ((vars = (char**)malloc((i + 1) * sizeof(char*))) == NULL) + f_fail_alloc_and_destroy(msh); + i = 0; + while (msh->envp[i] != NULL) + { + if ((vars[i] = + (char*)malloc((ft_strclen(msh->envp[i], '=') + 1) + * sizeof(char))) == NULL) + f_fail_alloc_and_destroy(msh); + ft_strlcpy(vars[i], msh->envp[i], ft_strclen(msh->envp[i], '=') + 1); + i++; + } + vars[i] = NULL; + return (vars); +} + uint64_t u_builtins_get_argc(const char *args[]) { -- cgit v1.2.3