From 5d9665981d2ed493bb1303bbd21a47b6890c9cc6 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 18 Jul 2019 10:46:23 +0200 Subject: ringlogger: handle wraparound on initial dump --- ringlogger/ringlogger_windows.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'ringlogger/ringlogger_windows.go') diff --git a/ringlogger/ringlogger_windows.go b/ringlogger/ringlogger_windows.go index e3b79cf9..46d6d072 100644 --- a/ringlogger/ringlogger_windows.go +++ b/ringlogger/ringlogger_windows.go @@ -173,17 +173,17 @@ type FollowLine struct { Stamp time.Time } -func (rl *Ringlogger) FollowFromCursor(cursor uint32) ([]FollowLine, uint32) { - followLines := make([]FollowLine, 0, maxLines) +func (rl *Ringlogger) FollowFromCursor(cursor uint32) (followLines []FollowLine, nextCursor uint32) { + followLines = make([]FollowLine, 0, maxLines) + nextCursor = cursor if rl.log == nil { - return followLines, cursor + return } - log := *rl.log - i := cursor - if i == CursorAll { + i := cursor + if cursor == CursorAll { i = log.nextIndex } @@ -205,9 +205,9 @@ func (rl *Ringlogger) FollowFromCursor(cursor uint32) ([]FollowLine, uint32) { followLines = append(followLines, FollowLine{string(line.line[:index]), time.Unix(0, line.timeNs)}) } i++ - cursor = i % maxLines + nextCursor = i % maxLines } - return followLines, cursor + return } func (rl *Ringlogger) Close() error { -- cgit v1.2.3-59-g8ed1b