From 66991c3059c9946092ac65766ab3e9bae859e563 Mon Sep 17 00:00:00 2001 From: ColinDrieu <colin.drieu@insa-rennes.fr> Date: Fri, 6 May 2016 16:15:32 +0200 Subject: [PATCH] =?UTF-8?q?Code=20des=20fonctions=20de=20lib=C3=A9ration?= =?UTF-8?q?=20m=C3=A9moire.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les fonctions libèrent la mémoire utilisée pour les informations transmises à la sdl. --- src/controleur.c | 35 +++++++++++++++++++++++++++++++---- src/controleur.h | 2 ++ 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/controleur.c b/src/controleur.c index f7f1b53..67895de 100644 --- a/src/controleur.c +++ b/src/controleur.c @@ -75,7 +75,6 @@ void initJeu(){ for(i=0;i<nbClasses();i++){ tabNomClasses[i]= malloc(TAILLE_NOMS*sizeof(char)); } - //Copie des noms de classes dans le tableau for(i=0;i<nbClasses();i++){ strncpy(tabNomClasses[i],packGlobal.Classes_Package[i].nom, TAILLE_NOMS); @@ -107,10 +106,24 @@ void initJeu(){ } /*! - * \fn int nbClasses() - * \brief Fonction renvoyer le nombre de classes contenues dans le package du jeu + * \fn void freeClasses() + * \brief La fonction libère un tableau de chaines de charactères alloué pour stocker les informations sur les classes. * - * \return le nombre de classes contenues dans le package du jeu + * \param + */ + void freeClasses(char ** tab){ + int i; + for(i=0;i<nbClasses();i++){ + free(tab[i]); + } + free(tab); +} + + /*! + * \fn int nbCartes() + * \brief Fonction renvoyer le nombre de cartes contenues dans le package du jeu + * + * \return le nombre de cartes contenues dans le package du jeu */ int nbCartes(){ return getNbCartes(packGlobal); @@ -160,6 +173,20 @@ char ** obtenirDescriptionCarte(){ return tabDescCartes; } + /*! + * \fn void freeCartes() + * \brief La fonction libère un tableau de chaines de charactères alloué pour stocker les informations sur la carte. + * + * \param + */ + void freeCartes(char ** tab){ + int i; + for(i=0;i<nbCartes();i++){ + free(tab[i]); + } + free(tab); +} + diff --git a/src/controleur.h b/src/controleur.h index 433707a..f1328e1 100644 --- a/src/controleur.h +++ b/src/controleur.h @@ -15,10 +15,12 @@ void ajouterUnJoueur(char * nomDuJoueur, EtatsJeu * etat); int nbClasses(); char ** obtenirNomsClasses(); char ** obtenirSkinsClasses(); +void freeClasses(char ** tab); int nbCartes(); char ** obtenirNomsCartes(); char ** obtenirDescriptionCarte(); +void freeCartes(char **); #endif // CONTROLEUR_H -- GitLab