fix m_zero_offset init and update
This commit is contained in:
parent
7eb5994405
commit
2705651565
@ -72,8 +72,10 @@ void SparrowShell::update()
|
||||
}
|
||||
|
||||
void SparrowShell::ShellBuffer::push(std::string s){
|
||||
if (m_buffer.size() >= m_size)
|
||||
if (m_buffer.size() >= m_size){
|
||||
m_buffer[m_zero_offset++] = s;
|
||||
m_zero_offset %= m_size;
|
||||
}
|
||||
else
|
||||
m_buffer.push_back(s);
|
||||
}
|
||||
|
@ -36,11 +36,11 @@ private:
|
||||
class ShellBuffer{
|
||||
private:
|
||||
std::vector<std::string> m_buffer;
|
||||
int m_zero_offset;
|
||||
int m_zero_offset = 0;
|
||||
unsigned int m_size;
|
||||
public:
|
||||
ShellBuffer(int size):m_size(size){}
|
||||
std::string& operator[](int i){return m_buffer[m_zero_offset+i%m_size];}
|
||||
std::string& operator[](int i){return m_buffer[(m_zero_offset+i)%m_size];}
|
||||
void push(std::string);
|
||||
unsigned int size(){return m_size;}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user