From e3b9c0140a8804bff247ba6541b6d39dab91e147 Mon Sep 17 00:00:00 2001 From: "Justin C. Miller" Date: Wed, 6 Jan 2021 23:20:29 -0800 Subject: [PATCH] [fb] Simplify scrollback line counting Using a start and a count was redundant when we know how many lines are in the buffer already. --- src/drivers/fb/scrollback.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/drivers/fb/scrollback.cpp b/src/drivers/fb/scrollback.cpp index 170dd09..69aa017 100644 --- a/src/drivers/fb/scrollback.cpp +++ b/src/drivers/fb/scrollback.cpp @@ -8,7 +8,6 @@ scrollback::scrollback(unsigned lines, unsigned cols, unsigned margin) : m_rows {lines}, m_cols {cols}, - m_start {0}, m_count {0}, m_margin {margin} { @@ -23,24 +22,20 @@ scrollback::scrollback(unsigned lines, unsigned cols, unsigned margin) : void scrollback::add_line(const char *line, size_t len) { - unsigned i = 0; - if (m_count < m_rows) - i = m_count++; - else - i = m_start++; + unsigned i = m_count++ % m_rows; if (len > m_cols) len = m_cols; - memcpy(m_lines[i % m_rows], line, len); + memcpy(m_lines[i], line, len); if (len < m_cols) - memset(m_lines[i % m_rows]+len, ' ', m_cols - len); + memset(m_lines[i]+len, ' ', m_cols - len); } char * scrollback::get_line(unsigned i) { - return m_lines[(i+m_start)%m_rows]; + return m_lines[(i+m_count)%m_rows]; } void