diff --git a/src/Expr.cc b/src/Expr.cc index 8b620df2f3..9206978ddd 100644 --- a/src/Expr.cc +++ b/src/Expr.cc @@ -3176,7 +3176,7 @@ HasFieldExpr::~HasFieldExpr() ValPtr HasFieldExpr::Fold(Val* v) const { auto rv = v->AsRecordVal(); - return val_mgr->Bool(rv->GetField(field) != nullptr); + return val_mgr->Bool(rv->HasField(field)); } void HasFieldExpr::ExprDescribe(ODesc* d) const @@ -5102,7 +5102,7 @@ ValPtr CastExpr::Eval(Frame* f) const d.Add("'"); if ( same_type(v->GetType(), Broker::detail::DataVal::ScriptDataType()) && - ! v->AsRecordVal()->GetField(0) ) + ! v->AsRecordVal()->HasField(0) ) d.Add(" (nil $data field)"); RuntimeError(d.Description()); diff --git a/src/Val.cc b/src/Val.cc index a992f273e7..6b0b5b6d20 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -3009,7 +3009,7 @@ RecordValPtr RecordVal::CoerceTo(RecordTypePtr t, } for ( i = 0; i < ar_t->NumFields(); ++i ) - if ( ! aggr->GetField(i) && + if ( ! aggr->HasField(i) && ! ar_t->FieldDecl(i)->GetAttr(detail::ATTR_OPTIONAL) ) { char buf[512]; diff --git a/src/broker/Manager.cc b/src/broker/Manager.cc index 98abfbe56f..e24b11261b 100644 --- a/src/broker/Manager.cc +++ b/src/broker/Manager.cc @@ -433,7 +433,7 @@ bool Manager::PublishEvent(string topic, RecordVal* args) if ( peer_count == 0 ) return true; - if ( ! args->GetField(0) ) + if ( ! args->HasField(0) ) return false; auto event_name = args->GetFieldAs(0)->CheckString(); @@ -807,7 +807,7 @@ RecordVal* Manager::MakeEvent(ValPList* args, zeek::detail::Frame* frame) else data_val = detail::make_data_val((*args)[i]); - if ( ! data_val->GetField(0) ) + if ( ! data_val->HasField(0) ) { rval->Assign(0, nullptr); Error("failed to convert param #%d of type %s to broker data",