void ft_btreeadd(t_btree **root, t_data *data, int (*cmp)(const t_btree *, const t_btree *)) { t_btree *add; t_btree *tmp; if (!root || !data || !cmp) return ; add = ft_btreenew(data->data, data->data_size); if (!*root) { add->color = RB_BLACK; return ((void)(*root = add)); } my_add(*root, add, cmp); tmp = add; while (*root != add && add->parent->color == RB_RED) { if (add->parent == add->parent->parent->left) my_check(root, &add, tmp, 1); else my_check(root, &add, tmp, 0); } (*root)->color = RB_BLACK; }
int main(int ac, char **av) { t_ints *ints; t_line line; t_vd vd; t_eq eq; if ((ints = malloc(sizeof(t_ints))) == NULL) return (1); if (ac > 9) arg_sup(ac); if (ac < 9) arg_low(); if (my_getnbr(av[5]) == 0 && my_getnbr(av[6]) == 0 && my_getnbr(av[7]) == 0) check_vec(); if (my_getnbr(av[8]) <= 0) my_check(); check_my_arguments(av); my_intersection(ac, av, ints); free(ints); return (0); }