fonction fsm_journal_seek() implémentée (easy)
This commit is contained in:
parent
c46c0c0699
commit
7f7c390b61
|
@ -50,15 +50,15 @@ typedef struct disp_list {int value; struct disp_list *suiv;} disp_list ;
|
||||||
typedef struct unit {int event; struct unit *prev; struct unit *next;} unit;
|
typedef struct unit {int event; struct unit *prev; struct unit *next;} unit;
|
||||||
typedef struct {unit *first; unit *last;} journal; // structure d'accès au journal
|
typedef struct {unit *first; unit *last;} journal; // structure d'accès au journal
|
||||||
|
|
||||||
void fsm_journal_init (journal *l); // initialise
|
void fsm_journal_init (journal *jj); // initialise
|
||||||
void fsm_journal_clear (journal *l); // vide tout le journal
|
void fsm_journal_clear (journal *jj); // vide tout le journal
|
||||||
int fsm_journal_push_back (journal *l, int event); // ajoute un évènement en fin de journal
|
int fsm_journal_push_back (journal *jj, int event); // ajoute un évènement en fin de journal
|
||||||
int fsm_journal_push_front (journal *l, int event); // ajoute un évènement en début de journal
|
int fsm_journal_push_front (journal *jj, int event); // ajoute un évènement en début de journal
|
||||||
int fsm_journal_pop_back (journal *l); // retire un évènement en fin de journal
|
int fsm_journal_pop_back (journal *jj); // retire un évènement en fin de journal
|
||||||
int fsm_journal_pop_front (journal *l); // retire un évènement en début de journal
|
int fsm_journal_pop_front (journal *jj); // retire un évènement en début de journal
|
||||||
int fsm_journal_length (journal l); // nombre d'évènements dans le journal
|
int fsm_journal_length (journal jj); // nombre d'évènements dans le journal
|
||||||
void fsm_journal_seek (journal *jj, int event); // recherche un évènement dans le journal
|
void fsm_journal_seek (journal jj, int event); // recherche un évènement dans le journal
|
||||||
void fsm_journal_view (journal l); // affiche tout le journal
|
void fsm_journal_view (journal jj); // affiche tout le journal
|
||||||
void fsm_journal_test();
|
void fsm_journal_test();
|
||||||
// --------------------------------------------------------------- WIP ------
|
// --------------------------------------------------------------- WIP ------
|
||||||
// ref: sudo cat /var/log/messages
|
// ref: sudo cat /var/log/messages
|
||||||
|
|
|
@ -119,9 +119,15 @@ int fsm_journal_length (journal jj)
|
||||||
return nb;
|
return nb;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fsm_journal_seek (journal *jj, int event)
|
void fsm_journal_seek (journal jj, int event)
|
||||||
{
|
{
|
||||||
|
unit *a_unit = jj.first;
|
||||||
|
while (a_unit)
|
||||||
|
{
|
||||||
|
if (event == a_unit->event)
|
||||||
|
printf ("> event %d found in journal\n", a_unit->event);
|
||||||
|
a_unit = a_unit->next;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void fsm_journal_view (journal jj)
|
void fsm_journal_view (journal jj)
|
||||||
|
@ -160,6 +166,7 @@ void fsm_journal_test()
|
||||||
printf ("push front > %d\n", fsm_journal_push_front (&exemple, 0));
|
printf ("push front > %d\n", fsm_journal_push_front (&exemple, 0));
|
||||||
|
|
||||||
fsm_journal_view (exemple);
|
fsm_journal_view (exemple);
|
||||||
|
fsm_journal_seek (exemple, 2);
|
||||||
|
|
||||||
printf ("clear list\n"); fsm_journal_clear (&exemple);
|
printf ("clear list\n"); fsm_journal_clear (&exemple);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue