void ft_tab_split(char **tab, t_bol bol) { char **dir; char **files; int i; int ret; ret = 0; i = 0; dir = (char **)ft_memalloc(sizeof(char *) * 1); files = (char **)ft_memalloc(sizeof(char *) * 1); dir[0] = NULL; files[0] = NULL; while (tab[i]) { ret = ft_sort_dir_files(tab[i], bol); if (ret == 1) files = ft_realloc_tab(files, tab[i]); else if (ret == 0) dir = ft_realloc_tab(dir, tab[i]); i++; } ft_free_tab(tab, bol.tmp); ft_sort_tab(files, dir, bol); }
int ft_setenv(char *name, const char *value, char ***env) { int index; char **env_ptr; env_ptr = *env; if (name && name[0] != '\0') { index = get_var_index(env_ptr, name); if (index != -1) if ((ft_strlen(name) + ft_strlen(value) + 2) <= ft_strlen(env_ptr[index])) ft_strcpy(&env_ptr[index][ft_strlen(name) + 1], value); else env_ptr[index] = cat_new_var(name, value); else { index = 0; while (env_ptr[index]) index++; ft_realloc_tab(env, 1); (*env)[index] = cat_new_var(name, value); index = 0; } } return (1); }
void set_new_environment_variable(char *arguments) { g_environment = ft_realloc_tab(g_environment); g_environment[ft_tablen(g_environment)] = ft_strdup(arguments); }