int main(int argc, char ** argv) { /*VARIABLES LOCALES*/ cellule_t * ptete; cellule_t * ftete; /*Allocation de la liste*/ ptete = (cellule_t *) malloc(sizeof(cellule_t)); (*ptete).suiv = NULL; if (ptete == NULL) { printf("Allocation impossible"); } else { /*initialisation du pointeur de fin de liste*/ ftete = ptete; while(!feof(stdin)) { saisie(&ftete); ajout(&ftete); } affiche(ptete); } liberation(&ptete); return 0; }
void ft_free(void *ptr) { t_info_ptr mllc_ptr; if (ptr == NULL) print_log("ERROR : NULL pointer\n"); mllc_ptr = search_in_all_zones(ptr); if (mllc_ptr.addr != NULL) { liberation(mllc_ptr); if (mllc_ptr.data->count == 0 && mllc_ptr.data->prec != NULL) { destroy_data_field(mllc_ptr.data, get_zone(GET, mllc_ptr.size_ptr)); } } else { dprintf(2, "ERROR : pointer was already free or not allocated\n"); } }
int main(int argc, char** argv) { /*variables locales*/ login_t * ptete; login_t * ajout; int confirm = 1; char demande_ajout_t; char demande_position_t; /*allocation du pointeur vers le premier élement de la structure*/ ptete = (login_t *) malloc (sizeof(login_t)); (*ptete).suivant = NULL; /*initialisation des éléments*/ initialiser(ptete); while (confirm == 1) { /*demande/choix entre la modif ou la création d'un compte*/ printf("Voulez-vous ajouter, supprimer un compte ou ne rien faire ? (a/s/f) "); fflush(stdout); scanf("%s%*c",&demande_ajout_t); if ((demande_ajout_t == 'a') && (strcmp("vide", (*ptete).nom_de_login) == 0)) { /*ajout d'un compte sur un élément vide*/ saisie(ptete); } else if (demande_ajout_t == 'a') { /*ajout d'un compte par création d'un élément*/ ajout = (login_t *) malloc(sizeof(login_t)); if (ajout == NULL) { printf("Erreur d'allocation"); } else { /*saisie du compte*/ saisie(ajout); /*ajout du compte au gestionnaire*/ printf("Voulez-vous ajouter le compte en fin, au milieu ou au debut (f/n/d) ? "); fflush(stdout); scanf("%c%*c", &demande_position_t); if (demande_position_t == 'f') { inserFin(ptete,&ajout); } else if (demande_position_t == 'd') { inserTete(&ptete,&ajout); } else if (demande_position_t == 'm') { inserMilieu(ptete,&ajout); } } } else if (demande_ajout_t == 's') { supprimer(&ptete); } else { confirm = 0; } } /*affichage des élements*/ affichage(ptete); /*libération de la mémoire allouée*/ liberation(&ptete); return 0; }