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){
|
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_buffer[m_zero_offset++] = s;
|
||||||
|
m_zero_offset %= m_size;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
m_buffer.push_back(s);
|
m_buffer.push_back(s);
|
||||||
}
|
}
|
||||||
|
@ -36,11 +36,11 @@ private:
|
|||||||
class ShellBuffer{
|
class ShellBuffer{
|
||||||
private:
|
private:
|
||||||
std::vector<std::string> m_buffer;
|
std::vector<std::string> m_buffer;
|
||||||
int m_zero_offset;
|
int m_zero_offset = 0;
|
||||||
unsigned int m_size;
|
unsigned int m_size;
|
||||||
public:
|
public:
|
||||||
ShellBuffer(int size):m_size(size){}
|
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);
|
void push(std::string);
|
||||||
unsigned int size(){return m_size;}
|
unsigned int size(){return m_size;}
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user