コード例 #1
0
ファイル: get_input.c プロジェクト: ThomasSan/ft_select
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);
}
コード例 #2
0
ファイル: computor.c プロジェクト: cfriot/computor_V1
int		main(int ac, char **av)
{
	char		**tab;
	t_magic		magic;

	if (ac != 2)
		printf("You must enter an equation\n");
	else
	{
		magic = ft_ini_magic();
		tab = ft_strsplit(av[1], ' ');
		if (tab != NULL)
		{
			ft_parse_entry(tab, &magic);
			if (magic.error == 0)
			{
				ft_clear_list(&magic);
				printf("Reduced form: ");
				ft_display_reduced(&magic);
				ft_resolve(&magic);
			}
			else
				ft_error(&magic);
			ft_delete(&magic);
		}
	}
	return (0);
}
コード例 #3
0
ファイル: ft_start.c プロジェクト: jbahus/fillit
static int	ft_resolve(t_tetri *tetri, char map[50][50], int letter, int size)
{
	int		i;

	if (!tetri)
		return (1);
	tetri->x = 0;
	while (tetri->x < size)
	{
		tetri->y = 0;
		while (tetri->y < size)
		{
			if (test_position(tetri, map, size))
			{
				ft_valid_pos(tetri, map, letter, size);
				if (ft_resolve(tetri->next, map, letter + 1, size))
					return (1);
				i = 0;
				ft_delete(map, letter, size);
			}
			tetri->y++;
		}
		tetri->x++;
	}
	return (0);
}
コード例 #4
0
ファイル: ofstatemanager.c プロジェクト: jpillora/of-dpa
static void
process_flow_removal(ft_entry_t *entry,
                     indigo_fi_flow_stats_t *final_stats,
                     indigo_fi_flow_removed_t reason)
{
    indigo_error_t rv;

    if (entry->flags & OF_FLOW_MOD_FLAG_SEND_FLOW_REM) {
        /* See OF spec 1.0.1, section 3.5, page 6 */
        if (reason != INDIGO_FLOW_REMOVED_OVERWRITE) {
            if (final_stats != NULL) {
                INDIGO_ASSERT(final_stats->flow_id == entry->id);
                entry->packets = final_stats->packets;
                entry->bytes = final_stats->bytes;
            } else {
                entry->packets = (uint64_t)-1;
                entry->bytes = (uint64_t)-1;
            }

            send_flow_removed_message(entry, reason);
        }
    }

    rv = ft_delete(ind_core_ft, entry);
    if (rv != INDIGO_ERROR_NONE) {
        LOG_ERROR("Error deleting flow from state mgr. id: "
                  INDIGO_FLOW_ID_PRINTF_FORMAT,
                  INDIGO_FLOW_ID_PRINTF_ARG(entry->id));
    }
    LOG_TRACE("Flow table now has %d entries",
              FT_STATUS(ind_core_ft)->current_count);
}
コード例 #5
0
ファイル: ft_font.c プロジェクト: jnorthrup/gpac
GF_EXPORT
void ShutdownInterface(GF_BaseInterface *ifce)
{
	switch (ifce->InterfaceType) {
	case GF_FONT_READER_INTERFACE:
		ft_delete(ifce);
		break;
	}
}
コード例 #6
0
ファイル: ft_inputs.c プロジェクト: xacoquan/SH1
static int	ft_manage_inputs(t_env *e, char *inputs)
{
	int		value;

	if ((inputs[0] == 4 || inputs[0] == 10) &&
		inputs[1] == 0 && inputs[2] == 0 && inputs[3] == 0 &&
		inputs[4] == 0 && inputs[5] == 0 && inputs[6] == 0)
		return (ft_quit(e, inputs));
	else if (!ft_delete(e, inputs))
		if (!ft_arrows(e, inputs))
			if (!ft_clear(e, inputs))
				if (ft_isprint(inputs[0]) || inputs[0] == 9)
					if ((value = ft_process_char(e, inputs)) != 2)
						return (value);
	return (-1);
}
コード例 #7
0
void	term_event(unsigned int key, t_caps *caps)
{
	if (key == 27)
		ft_exit(caps, 1);
	else if (ft_check_size(caps) == -1)
		return ;
	else if (key == 4345627)
		move_down(caps);
	else if (key == 4280091)
		move_top(caps);
	else if (key == 32)
		ft_select(caps);
	else if (key == 127 || key == 2117294875)
		ft_delete(caps);
	else if (key == 10 || key == 5066523)
		ft_return(caps);
}
コード例 #8
0
ファイル: ft_command.c プロジェクト: elivet/ft_select
void		ft_command(t_list **l, char buf[4], struct termios *term)
{
	int		ret;
	t_list	*cursor;

	cursor = (*l)->next;
	while (!check_break(buf, cursor))
	{
		buf[0] = 0;
		buf[1] = 0;
		buf[2] = 0;
		tputs(tgetstr("cl", NULL), 1, tty_putchar);
		ft_underline(cursor, l);
		ret = read(0, buf, 3);
		buf[ret] = '\0';
		ft_space(&cursor, buf);
		ft_up(&cursor, buf);
		ft_down(&cursor, buf);
		ft_check_esc(buf, term);
		ft_delete(cursor, buf, &cursor);
	}
}
コード例 #9
0
ファイル: ft_complete.c プロジェクト: vcourtin/42.sh
char	*func1(t_data *st, int *i, char *newbuff, char *stdin)
{
	if (stdin[0] == 127)
	{
		if (newbuff[0] != '\0' && *i != 0)
		{
			delete_cmd(st, *i);
			newbuff = ft_delete(*i, newbuff);
			ft_putstr_complete(newbuff, st);
			back_to_j(newbuff, (*i) - 2);
			(*i)--;
		}
	}
	else
	{
		delete_cmd(st, *i);
		newbuff = add_to_tab(newbuff, stdin[0], *i);
		ft_putstr_complete(newbuff, st);
		back_to_j(newbuff, *i);
		(*i)++;
	}
	return (newbuff);
}
コード例 #10
0
ファイル: operations.c プロジェクト: WTSC/42_projects
void ft_btoa(t_swap *swap)
{
	swap->a = ft_insert(swap->b[array_size(swap->b) - 1], swap->a, 1);
	swap->b = ft_delete(swap->b, 1);
}
コード例 #11
0
ファイル: operations.c プロジェクト: WTSC/42_projects
void ft_atob(t_swap *swap)
{
swap->b = ft_insert(swap->a[array_size(swap->a) - 1], swap->b, 1);
swap->a = ft_delete(swap->a, 1);
}