/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* u_utils.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: rbousset +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ /* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ /* */ /* ************************************************************************** */ #include #include #include #include #include "f_fail.h" #include "s_struct.h" void u_eof_fd(int32_t fd) { char *line; close(fd); get_next_line(fd, &line); ft_memdel((void*)&line); } 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_alloc_and_destroy_msh(msh); i = 0; while (msh->envp[i] != NULL) { if ((vars[i] = (char*)malloc((ft_strclen(msh->envp[i], '=') + 1) * sizeof(char))) == NULL) f_alloc_and_destroy_msh(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[]) { uint64_t argc; argc = 0; while (args[argc]) { argc++; } return (argc); }