X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flib%2Fkernel%2Flist.c;h=173557680184707306e5c2816a564a550ef79f8a;hb=9bf1522a945b8c9b3192fd62a06c344f8a5ddfc1;hp=1227d6b6b5679f5c2708af027e0a69241684d613;hpb=37bb2e4260a06ec1990ca6ee81b850e20e42cf73;p=pintos-anon diff --git a/src/lib/kernel/list.c b/src/lib/kernel/list.c index 1227d6b..1735576 100644 --- a/src/lib/kernel/list.c +++ b/src/lib/kernel/list.c @@ -216,15 +216,15 @@ list_push_back (struct list *list, list_elem *elem) list_insert (list_end (list), elem); } -/* Removes ELEM from its list. Undefined behavior if ELEM is not - in a list. */ +/* Removes ELEM from its list and returns the element that + followed it. Undefined behavior if ELEM is not in a list. */ list_elem * list_remove (list_elem *elem) { ASSERT (is_interior (elem)); elem->prev->next = elem->next; elem->next->prev = elem->prev; - return elem; + return elem->next; } /* Removes the front element from LIST and returns it.