/***************************************************************************** Gestionnaire de terminal Unix: checkbox.c (c) Pierre Adriaans 1994 *****************************************************************************/ #include "keyboard.h" #include "screen.h" #include "checkbox.h" /***************************************************************************** InitCheckBoxItem() ------------------------------------------------------------------------------ Input: pointeur de tete par adresse Process: liberation de la liste pointee Output: / *****************************************************************************/ void InitCheckBoxItem(CheckBoxItem_t **Liste) { CheckBoxItem_t *Cour,*Temp; Cour = *Liste; while(Cour != (CheckBoxItem_t *)NULL) { free(Cour->Str); Temp = Cour; Cour = Cour->Suivant; free(Temp); } *Liste = (CheckBoxItem_t *)NULL; } /***************************************************************************** AddCheckBoxItem() ------------------------------------------------------------------------------ Input: pointeur de tete par adresse et string a inserer Process: insertion en queue de la string dans la liste Output: 0 *****************************************************************************/ int AddCheckBoxItem(CheckBoxItem_t **Liste,char *Str) { CheckBoxItem_t *Cour,*Prec,*Temp = (CheckBoxItem_t *)NULL; Temp = (CheckBoxItem_t *)malloc(sizeof(CheckBoxItem_t)); if(Temp == (CheckBoxItem_t *)NULL) raise(SIGME); Temp->Str = (char *)malloc(strlen(Str) + 1); if(Temp->Str == (char *)NULL) raise(SIGME); strcpy(Temp->Str,Str); Temp->Suivant = (CheckBoxItem_t *)NULL; if(*Liste == (CheckBoxItem_t *)NULL) *Liste = Temp; else { Cour = *Liste; Prec = (CheckBoxItem_t *)NULL; while(Cour != (CheckBoxItem_t *)NULL) { Prec = Cour; Cour = Cour->Suivant; } Prec->Suivant = Temp; } return(0); } /***************************************************************************** GetCBNbreItems() ------------------------------------------------------------------------------ Input: un pointeur de tete Process: calcul du nombre d'items presents dans cette liste *****************************************************************************/ int GetCBNbreItems(CheckBoxItem_t *Liste) { int i; for(i=0;Liste != (CheckBoxItem_t *)NULL;Liste = Liste->Suivant,i++); return(i); }