#include #include #include #include "file.h" int file_empty(file f) { return (f[DEBUT] == NULL); } void file_push(file f, char *s) { liste l = (liste) malloc(sizeof(struct maillon)); l->nom = s; l->suivant = NULL; if (f[FIN] == NULL) f[DEBUT] = l; else f[FIN]->suivant = l; f[FIN] = l; } char *file_top(file f) { return f[DEBUT]->nom; } char *file_pop(file f) { struct maillon m = *(f[DEBUT]); free(f[DEBUT]); f[DEBUT]=m.suivant; if (f[DEBUT] == NULL) f[FIN] = NULL; return m.nom; } void file_clear(file f) { liste tmp,l = f[DEBUT]; while(l != NULL) { tmp = l->suivant; free(l->nom); free(l); l = tmp; } f[DEBUT] = f[FIN] = NULL; }