1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-22 17:15:08 +00:00

Shell: Make Parser::expect() revert the offset when matching fails

This commit is contained in:
AnotherTest 2020-09-14 19:31:47 +04:30 committed by Andreas Kling
parent afe0ae586c
commit 53b85bcdd0

View file

@ -58,12 +58,16 @@ bool Parser::expect(char ch)
bool Parser::expect(const StringView& expected)
{
auto offset_at_start = m_offset;
if (expected.length() + m_offset > m_input.length())
return false;
for (size_t i = 0; i < expected.length(); ++i) {
if (peek() != expected[i])
if (peek() != expected[i]) {
m_offset = offset_at_start;
return false;
}
consume();
}