Example #1
0
t_circ		*my_fulfill_list(char **av)
{
  int		i;
  t_circ	*root;

  i = 1;
  root = create_circ();
  while (av[i])
    add_elem_end(root, av[i++]);
  add_elem_end(root, NULL);  // si a l'envers, add_elem_beg a la place de end.
  return (root);
}
Example #2
0
t_ctrl		*fill_list(int argc, char **argv)
{
  int		i;
  t_ctrl	*ctrl;

  i = 1;
  ctrl = init_control();
  while (i < argc)
    add_elem_end(ctrl, argv[i++]);
  return (ctrl);
}
Example #3
0
File: env.c Project: JeremShy/21sh
static t_env		*init_list_no_env(char **env)
{
	t_env	*ret;
	char	*tmp;

	ret = NULL;
	if (!var_exist(env, "PATH="))
	{
		tmp = get_path();
		ret = add_elem_end(NULL, "PATH", tmp);
		free(tmp);
	}
	if (!var_exist(env, "PWD=") || !var_exist(env, "OLDPWD="))
	{
		tmp = getcwd(NULL, 0);
		ret = add_elem_end(ret, "PWD", tmp);
		ret = add_elem_end(ret, "OLDPWD", tmp);
		free(tmp);
	}
	if (!var_exist(env, "HOME="))
		ret = add_elem_end(ret, "HOME", "/");
	if (!var_exist(env, "SHLVL="))
		ret = add_elem_end(ret, "SHLVL", "0");
	if (!var_exist(env, "TERM="))
		ret = add_elem_end(ret, "TERM", "xterm-256color");
	return (ret);
}
Example #4
0
File: env.c Project: JeremShy/21sh
static t_env		*parse_line(t_env *ret, char *env)
{
	char	*ptr;
	char	*s1;
	char	*s2;

	ptr = ft_strchr(env, '=');
	if (!ptr)
		return (ret);
	s1 = ft_strsub(env, 0, ptr - env);
	s2 = ft_strsub(ptr, 1, ft_strlen(ptr) - 1);
	if (!s2)
		s2 = ft_strdup("");
	ret = add_elem_end(ret, s1, s2);
	free(s1);
	free(s2);
	return (ret);
}