diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-07-18 10:46:23 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-07-18 10:46:28 +0200 |
commit | 709b2e012c3c200a921b3d7fa5bed092da1d3418 (patch) | |
tree | 1a97eb20dd55fbd0227f8079aba022262de8403b /ringlogger/ringlogger_windows.go | |
parent | ui: add layout item helper for new layout system (diff) | |
download | wireguard-windows-709b2e012c3c200a921b3d7fa5bed092da1d3418.tar.xz wireguard-windows-709b2e012c3c200a921b3d7fa5bed092da1d3418.zip |
ringlogger: handle wraparound on initial dump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'ringlogger/ringlogger_windows.go')
-rw-r--r-- | ringlogger/ringlogger_windows.go | 16 |
1 files changed, 8 insertions, 8 deletions
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 { |