Esempio n. 1
0
int		main(int argc, char **argv, char **env)
{
	t_ex	ex_info;
	char	*input;

	argc = 0;
	argv = 0;
	ex_info.env = env;
	ft_putendl(ex_info.env[ft_search(&ex_info, "USER="******"USER="******"$>");
		if (ft_get_command(&ex_info, &input) == 0)
		{
			if (ft_strcmp(input, "exit") == 0)
				exit(0);
			if (ft_strcmp(input, "cd") == 0)
				ft_go_home(&ex_info);
			else if ((ft_strcmp(ex_info.argv[0], "cd") == 0)
					|| (ft_strcmp(ex_info.argv[0], "~") == 0))
				ft_change_dir(&ex_info);
			else
				ft_ex_command(&ex_info);
		}
	}
}
Esempio n. 2
0
t_elem	*ft_get_input(char *s, t_elem *l, int *flag)
{
	if (*flag == 1)
		*flag = 0;
	else if (s[0] == 27 && s[2] == 'A')
		ft_up(l);
	else if (s[0] == 27 && s[2] == 'B')
		ft_down(l);
	else if (s[0] == 32)
		ft_space(l);
	else if (s[0] == 1)
		ft_select_all(l);
	else if (s[0] == 24)
		ft_unselect_all(l);
	else if (s[0] == 27 && s[2] == 'F')
		ft_go_toend(l);
	else if (s[0] == 27 && s[2] == 'H')
		ft_go_home(l);
	else if ((s[0] == 27 && s[1] == 0) || s[0] == 4)
		ft_unset_canon();
	else if (s[0] == '\n')
		ft_enter(l);
	else if (s[0] == 8 || s[0] == 127 || (s[0] == 27 && s[2] == '3'))
		l = ft_delete(l);
	return (l);
}
Esempio n. 3
0
t_magic	*do_cd(t_magic *magic, char **info)
{
	if (ft_lentab(info) == 1 || ft_strcmp(info[1], "~") == 0)
		magic = ft_go_home(magic);
	else if (ft_lentab(info) == 2)
	{
		if (ft_strcmp(info[1], "-") == 0)
			magic = ft_cd_return(magic);
		else if (info[1][0] != '~')
			magic = ft_do_cd_path(magic, info);
		else
			magic = ft_go_from_home(magic, info);
	}
	else if (ft_lentab(info) == 3)
		magic = ft_double_cd(magic, info);
	else
		ft_putendl("command unknow");
	return (magic);
}