1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 06:38:10 +00:00

Shell: Avoid moving AK::Function instances while inside them

This commit is contained in:
Ali Mohammad Pur 2021-05-19 21:08:23 +04:30 committed by Andreas Kling
parent d954c11f66
commit fdfa5c0bc7
2 changed files with 5 additions and 5 deletions

View file

@ -94,10 +94,10 @@ private:
template<typename A, typename... Args>
NonnullRefPtr<A> create(Args... args);
void set_end_condition(Function<bool()> condition) { m_end_condition = move(condition); }
void set_end_condition(OwnPtr<Function<bool()>> condition) { m_end_condition = move(condition); }
bool at_end() const
{
if (m_end_condition && m_end_condition())
if (m_end_condition && (*m_end_condition)())
return true;
return m_input.length() <= m_offset;
}
@ -159,7 +159,7 @@ private:
Vector<size_t> m_rule_start_offsets;
Vector<AST::Position::Line> m_rule_start_lines;
Function<bool()> m_end_condition;
OwnPtr<Function<bool()>> m_end_condition;
Vector<HeredocInitiationRecord> m_heredoc_initiations;
Vector<char> m_extra_chars_not_allowed_in_barewords;
bool m_is_in_brace_expansion_spec { false };