Bonjour, tout le monde !

Voilà j'essaye de faire passer une structure personnalisée dans un g_signal_connect mais j'ai quelques soucis...
Voilà ma structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
typedef struct param {
	gpointer builder;
	char *str[MAXELEMENTS];
	int nb_str;
	int entiers[MAXELEMENTS];
	int nb_entiers;
	FILE *file;
} Param;
Le but c'est de passer en argument le builder, plusieurs chaines de caractères et même des nombres...

Voilà mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
char remove_admin_aux(GtkBuilder *a, Param *param/){
	g_print("%d\n",(*param).entiers[0]);
	return '1';
}
 
/*Supprime un admin d'un fichier *admin */
void remove_admin(FILE *admin, gpointer builder){
	char str[MAXNOM]="\0";
	int nb_lignes;
	GtkButton *valide_supr = (GtkButton *) gtk_builder_get_object(builder, "valide_supr");
	Param *param;
	Param parametres;
	param = &parametres;
	nb_lignes = compte_lignes(admin);
	(*param).builder = builder;
	(*param).nb_str = 2;
	(*param).str[0] = str;	
	(*param).entiers[0] = nb_lignes;
	(*param).nb_entiers = 1;
	(*param).file = admin;
	printf("nb_lignes= %d\n",nb_lignes);
	g_signal_connect(valide_supr, "clicked",
        G_CALLBACK(remove_admin_aux), param);
Et voilà ce que j'obtiens dans un terminal :
Je ne comprend pas pourquoi je n'obtiens pas "3"...

Merci pour vos réponses
Ludo