コード例 #1
0
ファイル: open.c プロジェクト: Poumchakalaka/minishell_1
char	*my_open(t_shell *shell, t_array *array, char **env, int *indicateur)
{
  int	i;
  char	*path;

  i = -1;
  if (all_check(shell, array, env) == 0)
    {
      if (shell->buffer[0][0] == '.')
	my_exec(shell, array, env);
      else
	{
	  while (shell->tab_path[++i] != NULL)
	    {
	      path = my_strcat(shell->tab_path[i], "/");
	      if ((access(
my_strcat(shell->tab_path[i], shell->buffer[0]), F_OK) == 0))
		{
		  *indicateur = *indicateur + 1;
		  return (path);
		}
	    }
	  my_error_2(shell->buffer[0]);
	}
    }
}
コード例 #2
0
ファイル: main.c プロジェクト: hikkary/ft_ls
int main(int argc, char **argv)
{
	s_dir *d;
	static s_arg *a;
	s_err *e;

	e = malloc(sizeof(s_err));
	a = malloc(sizeof(s_arg));
	d = malloc(sizeof(s_dir));
	a = setzero(a);
	e = seterrzero(e);
	e = all_check(d, a, e, argv);
	if (argc > 2)
		argv = sort_arg(argv);
	//ft_putnbr(count_arg(argv));
	//ft_putnbr(ft_strcmp("b.out","a"));
	option_error(e);
	//DEBUG
	//a = argcheck(a, argv); //remettre quand jaurais fait le tri des arguments 
	if(!argv[a->arc])
		argv[a->arc] = ".";
		
	ft_dirread(d, a, argv);
	//ft_check(d, argv);
	return(0);
}