Пример #1
0
int				cd_fct(char *path)
{
	int			opt_p;
	char		*oldpwd;
	char		**tmp;
	t_env		*env;

	tmp = ft_strsplit(path, ' ');
	if ((opt_p = check_cd_path(&path, tmp)) < 0)
	{
		ft_putstr("cd: arguments invalid");
		del_tab(tmp);
		path = NULL;
		return (0);
	}
	oldpwd = NULL;
	oldpwd = getcwd(oldpwd, 0);
	env = init_env(NULL);
	if (change_directory(&path, env) != -1)
		update_env(path, oldpwd, env);
	else
		return (0);
	del_tab(tmp);
	return (1);
}
Пример #2
0
int main(void)
{
	int n, i;
	int tlr, tlc, tur, tuc, tcolor;
	int j, tlim;
	int k;
	freopen("rect1.in",  "r",  stdin); 
	freopen("rect1.out",  "w",  stdout); 

	while(scanf("%d%d%d", &row_max, &col_max, &n) != EOF){
		initial();
		for(i=0; i<n; i++){
			scanf("%d%d%d%d%d", &tlr, &tlc, &tur, &tuc, &tcolor);
			tlim = lim;
			add_tab(tlr, tlc, tur, tuc, tcolor);
			for(j=0; j<tlim; j++)
				cut(tlr, tlc, tur, tuc, tcolor, j);
			for(j=0; j<tlim; j++)
				del_tab(j);
		}
		for(i=0; i<=2500; i++)
			if(area[i])
				printf("%d %d\n", i, area[i]);
	}
	return 0;
}
Пример #3
0
int			main(int ac, char **argv, char **env)
{
	char	*buffer;
	t_env	e;

	argv++;
	ac = 0;
	ft_memset(&e, 0, sizeof(e));
	e.env = ft_array_str_cpy(env, e.env);
	signal(SIGINT, no_quit);
	while (42)
	{
		e.path = get_env(e.env);
		ft_printf("$> ");
		get_next_line(0, &buffer);
		del_tab(buffer);
		parse_all_cmds(buffer, &e);
		while (ac < e.nbcmd)
		{
			parse_user(e.cmds[ac], &e);
			(e.nbarg > 0 && is_bull(e.cmd, &e) == 1) ? cmd(&e) : 0;
			free(e.cmds[ac]);
			ac++;
		}
		ac = 0;
	}
	return (0);
}
Пример #4
0
static int		add_dir(char ***path_tab, char *path)
{
	char	**new_tab;
	int		size;

	size = ft_tablen(*path_tab);
	new_tab = ft_tabdup(*path_tab, size + 1);
	new_tab[size] = ft_strdup_to_char(path, '/');
	del_tab(*path_tab);
	*path_tab = new_tab;
	size = 0;
	while (path[size] && path[size] != '/')
		++size;
	return (size);
}
Пример #5
0
static void close_nb_button(GtkWidget *widget, gpointer *aux) {
	nb_aux *nbaux = (nb_aux *) aux;

	del_tab(nbaux);
}