Bonjour à tous et à toutes

Mon problème est le suivant : j'ai besoin de stocker des informations dans une GList mais celle-ci a décidé d'en faire qu'à sa tête
En effet, lorsque j'insere un element, elle transforme toute la liste !!!!!!!

L'élement que je veux insérer s'insere bien mais il modifie toutes les anciennes insertions (c'est qu'un exemple)

Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
        Liste_Sauvegarde = g_list_append(Liste_Sauvegarde, TRUE);
        Liste_Contenu = g_list_append(Liste_Contenu, (gchar *) Contenu);
        Liste_Chemin = g_list_append(Liste_Chemin, (gchar *) Emplacement);
        /* Remplissage de la GList */
 
        gpointer Truc;
        Truc = g_list_nth_data(Liste_Chemin, 0);
        printf("%s", Truc);
        /* On affiche l'élement de la GList */
Contenu et Emplacement sont tous les deux des paramètres.
Liste_Sauvegarde, Liste_Contenu, Liste_Chemin sont des statiques (je sais que c'est déconseillé bien que je ne sache pas pourquoi )
Liste_Sauvegarde ne doit contenir que des booleans.
Les paramètres ne sont pas corrompues : je les ai testé

Et cette fonction marque sur la console tout ce qu'il ne faut pas : a chaque insertion elle modifie toute la liste en ce qu'elle est. Par exemple si la liste contient mouton et ane et qu'on ajoute boeuf, mouton et ane deviennent boeuf

Ici, la liste qui me gène c'est Liste_Chemin. Les deux autres marchent parfaitement.
Cette fonction est appelé à chaque fois par une autre fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
        Ajoute_liste(Chemin_fichier, Contenu_fichier);
        /* On ajoute un onglet */
Je vous rassure ce n'est qu'une portion de la fonction. Le reste est inutile à mettre car les paramètres ne sont pas corrompu

Merci d'avance de m'aider à resoudre ce problème