コード例 #1
0
ファイル: ft_execve.c プロジェクト: GabrielPora/WeThinkCode
static void		lunch_cmd(char *cmd, char **argv, t_data *data)
{
	int		i;
	char	**paths;
	char	*tmp;
	int		ret;

	check_tild(argv, data);
	i = -1;
	tmp = NULL;
	paths = NULL;
	paths = ft_get_path(data);
	while (paths[++i] != '\0')
	{
		tmp = ft_strjoin(paths[i], cmd);
		ret = execve(tmp, argv, data->env);
		FREE_(tmp);
		if (ret > -1)
			exit(0);
	}
	ret = execve(cmd, argv, data->env);
	if (ret == -1)
		ft_putstr(E_MESS03);
	exit(0);
}
コード例 #2
0
ファイル: main.c プロジェクト: CCorazza/pipex
/*Penser a gerer les erreurs pour argc (trop/pas assez d'arguments)*/
int		main(int argc, char **argv, char **envp)
{
    char	*path;
    char	**command;

    path = NULL;
    get_next_line(0, &path);
    command = /*fonction qui separe fichiers et commandes...*/;
    path = ft_get_path(envp, command[0]);
    command[0] = path;
    ft_do_fork(path, envp, command);
    return (0);
}
コード例 #3
0
static char *fdtm_get_path(const void *phandle, char *buf, int len)
{
	return ft_get_path(&cxt, phandle, buf, len);
}