/* * Valide le nombre d'argument * @param argc le nombre d'argument * @return 0 si argc < 2 * @return 1 si argc == 2 */ int valider_nombre_arguments(int argc, const char path[]) { if(argc < 2) { print_erreur(ERR_FICHIER_REPERTOIRE_INEXISTANT); return 0; } struct stat file_stat; if(stat(path, &file_stat) != 0) { print_erreur(ERR_FICHIER_REPERTOIRE_INEXISTANT); return 0; } return 1; };
/* * Verifie que l'executable ai les permission nécéssaire (code octal 4, lecture user) * @param int st_mode l'entier qui représente le code binaire des permission du fichier / repertoire. * @return 0 si "r" est absent , pas les droits de lecture. * @return 1 si "r" est présent, les droits de lecture sont présent. */ int valider_permission_argument(const int st_mode) { if (st_mode&S_IRUSR) return 1; else { print_erreur(ERR_DROITS_INSUFFISANTS); return 0; } };
int main (int argc, char const *argv[]) { int *reg_base = malloc(REGISTRE_LIMIT_INITIAL * sizeof(int)); print_zone_contenu(reg_base,REGISTRE_LIMIT_INITIAL,0,REGISTRE_LIMIT_INITIAL); struct var v = {"variable", {12,13}}; struct var *vars[2]; vars[0] = &v; vars[1]=NULL; //sert pour localiser la fin du tableau print_vars(vars); print_zone_contenu(reg_base,REGISTRE_LIMIT_INITIAL,v.tableau.pos,v.tableau.taille); print_erreur(HORS_SEG); print_erreur(MEM_INSUFFISANTE); print_erreur(NO_VAR); print_limit(REGISTRE_LIMIT_INITIAL); print_prompt(); return 0; }