Exemple #1
0
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;
}
Exemple #2
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");
	}
}
Exemple #3
0
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;
}