From 1cb6a94b0810a4bcff53b17138386836366cb618 Mon Sep 17 00:00:00 2001 From: Mattias Erlingsson <mater915@student.liu.se> Date: Fri, 31 Jan 2020 14:35:15 +0100 Subject: [PATCH] changed for-loop implementation --- list.c | 0 main.c | 12 ++++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) mode change 100644 => 100755 list.c diff --git a/list.c b/list.c old mode 100644 new mode 100755 diff --git a/main.c b/main.c index 6fdba57..ac4e09d 100755 --- a/main.c +++ b/main.c @@ -37,15 +37,18 @@ void delete (struct list *student_list) { scanf("%s", &array); struct list_elem *e; - for (e = list_begin(student_list); e != list_end(student_list); e = list_next(e)){ + for (e = list_begin(student_list); e != list_end(student_list);) { struct student *s = list_entry(e, struct student, elem); /*if the two arrays are equal we delete it and free memory*/ - if(strcmp(array, s->name)==0){ - struct list_elem* temp = e; - list_remove(e); + if (strcmp(array, s->name) == 0) { + struct list_elem *temp = e; + e = list_next(e); + list_remove(temp); free(s->name); free(s); + break; } + e = list_next(e); } } @@ -70,6 +73,7 @@ void quit (struct list *student_list) { free(s->name); free(s); } + exit(0); } int main() { -- GitLab