/* It‚rateurs pour fichier makefile.dat */ #include "projet.h" /* Retire un fichier de la liste contenu dans l'objet. Le nom du fichier est simplement annul‚. Ca ‚vite que les pointeurs MAKEFILE_FILE changent. Retourne -1 si trouve pas le fichier. */ PUBLIC int MAKEFILE::delfil (const char *fname) { int ret = -1; MAKEFILE_FILE *file = locate(fname); if (file != NULL){ file->is_del = 1; ret = 0; } return ret; } /* Retourne le nombre de fichier qui ont ‚t‚ ‚limin‚s (delfil()). */ PUBLIC int MAKEFILE::getnbdel() { int ret = 0; MAKEFILE_FILE *file = tbfile; for (int i=0; iisdel()) ret++; } return ret; } /* Initialise la s‚lection des fichiers dans makefile.dat. */ PUBLIC void MAKEFILE::setiter() { positer = 0; } /* Initialise le marqueur de tous les fichiers du makefile.dat */ PUBLIC void MAKEFILE::setmark (int val) { MAKEFILE_FILE *file = tbfile + positer; for (int i=0; isetmark(val); } } /* Retourne le prochain item qui correspond … match Retourne NULL s'il n'y en a plus. */ PUBLIC MAKEFILE_FILE *MAKEFILE::iter(const char *match) { MAKEFILE_FILE *ret = NULL; MAKEFILE_FILE *file = tbfile + positer; for (int i=positer; iisdel() && file_fromwild (file->nom,match)){ ret = file; positer = i+1; break; } } return ret; } /* Retourne le prochain item qui correspond … match et un marqueur Retourne NULL s'il n'y en a plus. */ PUBLIC MAKEFILE_FILE *MAKEFILE::iter(const char *match, int mark) { MAKEFILE_FILE *ret = NULL; MAKEFILE_FILE *file = tbfile + positer; for (int i=positer; iisdel() && file->mark == mark && file_fromwild (file->nom,match)){ ret = file; positer = i+1; break; } } return ret; } /* Retourne le prochain item effac‚ du makefile.dat qui correspond … match Retourne NULL s'il n'y en a plus. */ PUBLIC MAKEFILE_FILE *MAKEFILE::iterdel(const char *match) { MAKEFILE_FILE *ret = NULL; MAKEFILE_FILE *file = tbfile + positer; for (int i=positer; iisdel() && file_fromwild (file->nom,match)){ ret = file; positer = i+1; break; } } return ret; }