summaryrefslogtreecommitdiffhomepage
path: root/pkg/ilist/interface_list.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/ilist/interface_list.go')
-rwxr-xr-xpkg/ilist/interface_list.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/pkg/ilist/interface_list.go b/pkg/ilist/interface_list.go
index a69f736c6..aeb636f52 100755
--- a/pkg/ilist/interface_list.go
+++ b/pkg/ilist/interface_list.go
@@ -154,8 +154,9 @@ func (l *List) InsertBefore(a, e Element) {
// Remove removes e from l.
func (l *List) Remove(e Element) {
- prev := ElementMapper{}.linkerFor(e).Prev()
- next := ElementMapper{}.linkerFor(e).Next()
+ linker := ElementMapper{}.linkerFor(e)
+ prev := linker.Prev()
+ next := linker.Next()
if prev != nil {
ElementMapper{}.linkerFor(prev).SetNext(next)
@@ -168,6 +169,9 @@ func (l *List) Remove(e Element) {
} else {
l.tail = prev
}
+
+ linker.SetNext(nil)
+ linker.SetPrev(nil)
}
// Entry is a default implementation of Linker. Users can add anonymous fields