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