mirror of
https://github.com/zeek/zeek.git
synced 2025-10-08 17:48:21 +00:00
Fix &default fields in records not being initialized in coerced assignments.
Addresses #722
This commit is contained in:
parent
f1e132cd1a
commit
f302f2f3f2
15 changed files with 52 additions and 23 deletions
|
@ -4053,7 +4053,14 @@ Val* RecordCoerceExpr::Fold(Val* v) const
|
|||
val->Assign(i, rhs);
|
||||
}
|
||||
else
|
||||
val->Assign(i, 0);
|
||||
{
|
||||
const Attr* def =
|
||||
Type()->AsRecordType()->FieldDecl(i)->FindAttr(ATTR_DEFAULT);
|
||||
if ( def )
|
||||
val->Assign(i, def->AttrExpr()->Eval(0));
|
||||
else
|
||||
val->Assign(i, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return val;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue