diff --git a/src/schedule.c b/src/schedule.c index d80ba69080fe3c42848dde1ed57969acbbab8b25..e0b0792482d704bdc7d2d0512df54ee47ed9f137 100644 --- a/src/schedule.c +++ b/src/schedule.c @@ -114,8 +114,7 @@ void delete_schedule(struct schedule_t * S) { for(int i = 0; i < S->num_machines; i++){ delete_list(S->schedule[i], 1); } - delete_list(S->num_machines, 1); - delete_list(S, 1); + free(S->schedule); } // Pour le format du fichier à créer, regardez dans la présentation du cours. @@ -125,7 +124,7 @@ void save_schedule(struct schedule_t * S, char * filename) { if (fp == NULL) { printf("Erreur lors de l'ouverture pour écriture du fichier %s\n", filename); - return NULL; + return; } int num = get_num_machines(S); fprintf(fp, "%d\n", num); @@ -133,13 +132,14 @@ void save_schedule(struct schedule_t * S, char * filename) { { fprintf(fp, "M%d\n", i); struct list_t* list = get_schedule_of_machine(S, i); - struct schedule_node_t* walk = get_list_head(list); + struct list_node_t* walk = get_list_head(list); while (walk) { - fprintf(fp, "%d %d %s", - get_schedule_node_begin_time(walk), - get_schedule_node_end_time(walk), - get_task_id(get_schedule_node_task(walk)) + struct schedule_node_t* node = get_list_node_data(walk); + fprintf(fp, "%ld %ld %s", + get_schedule_node_begin_time(node), + get_schedule_node_end_time(node), + get_task_id(get_schedule_node_task(node)) ); walk = get_successor(walk); }