diff --git a/userspace/engine/rule_loader.cpp b/userspace/engine/rule_loader.cpp index 9ceb39a3..e8b46dbc 100644 --- a/userspace/engine/rule_loader.cpp +++ b/userspace/engine/rule_loader.cpp @@ -92,9 +92,10 @@ rule_loader::context::context(const libsinsp::filter::ast::pos_info& pos, // parser line/columns are 1-indexed while yaml marks are // 0-indexed, though. position condpos; - condpos.pos = pos.idx; - condpos.line = pos.line-1; - condpos.column = pos.col-1; + auto& lastpos = parent.m_locs.back(); + condpos.pos = pos.idx + lastpos.pos.pos; + condpos.line = pos.line + lastpos.pos.line; + condpos.column = pos.col + lastpos.pos.column; init(name, condpos, rule_loader::context::CONDITION_EXPRESSION, item_name, parent); }