1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
   | stdout_to_list (gchar *list)
{
	gchar *ID;
	gchar *NameObj;
	gchar *Separ = "\t\n"; /* les 2 séparateurs, tab et retour de ligne */
	gchar *Ligne;
	gint i = 1;
	GtkTreeIter pIter;
 
	gtk_list_store_clear (ListStore1); /* on efface la liste avant de la remplir */
 
	Ligne = strtok (list, Separ); /* initialisation de l'extraction des mots (1er mot) */
 
	while(Ligne != NULL)
	{
		if (i > 1) /* le 1er mot étant déjà extrait, l'instruction est uniquement exécutée aux mots suivants */
		{
			Ligne = strtok (NULL, Separ);
		}
 
		ID = Ligne; /* récupération de l'id de l'objet */
 
		Ligne = strtok (NULL, Separ); /* on passe à l'extraction du nom de l'objet */
 
		NameObj = Ligne; /* récupération du nom de l'objet */
 
		if (ID != NULL && NameObj !=NULL) /* test pour savoir si la ligne est vide, si non, alors on ajoute à la liste ListStore1 */
		{
			gtk_list_store_append (ListStore1,  &pIter);
 
			gtk_list_store_set (ListStore1, &pIter, 0, ID, 1, NameObj, -1);
 
			i++;
		}
		else /* si la ligne est vide, c'est qu'on arrive à la fin ; on quitte alors la boucle, inutile de continuer */
		{
			break;
		}
	}
 
	return 0;
} | 
Partager