int my_unsetenvbis(char *buffer, t_struct *pile) { int p; t_list *save; t_list *new_elem; p = 0; save = pile->my_env; if (buffer[0] == '*') { my_free_list(pile->my_env); pile->my_env = 0; return (0); } if (my_strcmp2(buffer, pile->my_env->data) == 0) { new_elem = pile->my_env->next; free(pile->my_env->data); free(pile->my_env); pile->my_env = new_elem; if (new_elem != NULL) pile->my_env->prev = 0; } else my_del_elem(buffer, pile->my_env); return (0); }
struct sect *get_section(Meinkompf db, char *sect) { struct sect *result; if (!if_section_exist(sect, db)) return (NULL); result = db; if (!result) return (NULL); while (my_strcmp2(sect, result->title) && result) result = result->next; return (result); }
int my_del_elem(char *buffer, t_list *begin) { t_list *new_elem; while (begin->next) { if (my_strcmp2(buffer, begin->next->data) == 0) { new_elem = begin->next; begin->next = new_elem->next; if (new_elem->next != 0) new_elem->next->prev = begin; new_elem->prev = NULL; new_elem->next = NULL; free(new_elem->data); free(new_elem); return (0); } begin = begin->next; } my_putstr(UNSET_IM, 2); return (0); }
int add_section_list(char *val, Meinkompf *result) { Meinkompf tmp; Meinkompf elem; tmp = *result; if (!tmp) { tmp = xmalloc(sizeof(*tmp)); tmp->title = val; tmp->lelem = NULL; tmp->next = NULL; *result = tmp; return (0); } while (tmp->next && my_strcmp2(tmp->next->title, val) <= 0) tmp = tmp->next; elem = xmalloc(sizeof(*elem)); elem->next = tmp->next; elem->lelem = NULL; elem->title = val; tmp->next = elem; return (0); }