mirror of
https://github.com/zeek/zeek.git
synced 2025-10-17 14:08:20 +00:00
Merge remote-tracking branch 'origin/topic/jsiwek/table-init-record-idx'
Closes #660. * origin/topic/jsiwek/table-init-record-idx: Fix record constructors in table initializer indices. Addresses #660.
This commit is contained in:
commit
4255205026
10 changed files with 357 additions and 3 deletions
10
src/Expr.cc
10
src/Expr.cc
|
@ -4984,14 +4984,22 @@ Val* ListExpr::InitVal(const BroType* t, Val* aggr) const
|
|||
{
|
||||
ListVal* v = new ListVal(TYPE_ANY);
|
||||
|
||||
const type_list* tl = type->AsTypeList()->Types();
|
||||
if ( exprs.length() != tl->length() )
|
||||
{
|
||||
Error("index mismatch", t);
|
||||
return 0;
|
||||
}
|
||||
|
||||
loop_over_list(exprs, i)
|
||||
{
|
||||
Val* vi = exprs[i]->InitVal(t, 0);
|
||||
Val* vi = exprs[i]->InitVal((*tl)[i], 0);
|
||||
if ( ! vi )
|
||||
{
|
||||
Unref(v);
|
||||
return 0;
|
||||
}
|
||||
|
||||
v->Append(vi);
|
||||
}
|
||||
return v;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue