Beispiel #1
0
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);
}
Beispiel #3
0
void	set_new_environment_variable(char *arguments)
{
	g_environment = ft_realloc_tab(g_environment);
	g_environment[ft_tablen(g_environment)] = ft_strdup(arguments);
}