use HasField() rather than GetField() where appropriate

This commit is contained in:
Vern Paxson 2021-02-25 12:38:46 -08:00
parent 13e7ba3a00
commit 3f6f8e0709
3 changed files with 5 additions and 5 deletions

View file

@ -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());

View file

@ -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];

View file

@ -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<StringVal>(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",