diff --git a/core/container/ring.odin b/core/container/ring.odin index fca2db6f9..c1edc9dbc 100644 --- a/core/container/ring.odin +++ b/core/container/ring.odin @@ -26,6 +26,7 @@ ring_prev :: proc(r: ^$R/Ring) -> ^R { ring_move :: proc(r: ^$R/Ring, n: int) -> ^R { + r := r; if r.next == nil { return ring_init(r); } @@ -64,7 +65,7 @@ ring_len :: proc(r: ^$R/Ring) -> int { n := 0; if r != nil { n = 1; - for p := ring_next(&p); p != r; p = p.next { + for p := ring_next(r); p != r; p = p.next { n += 1; } }