Func::DescribeDebug: move a NumFields() call out of loop

This commit is contained in:
Jon Siwek 2020-03-26 15:21:51 -07:00
parent e7e5cf0f89
commit 29a7222563

View file

@ -144,19 +144,20 @@ void Func::DescribeDebug(ODesc* d, const zeek::Args* args) const
{ {
d->Add(Name()); d->Add(Name());
RecordType* func_args = FType()->Args();
if ( args ) if ( args )
{ {
d->Add("("); d->Add("(");
RecordType* func_args = FType()->Args();
auto num_fields = static_cast<size_t>(func_args->NumFields());
for ( auto i = 0u; i < args->size(); ++i ) for ( auto i = 0u; i < args->size(); ++i )
{ {
// Handle varargs case (more args than formals). // Handle varargs case (more args than formals).
if ( i >= static_cast<size_t>(func_args->NumFields()) ) if ( i >= num_fields )
{ {
d->Add("vararg"); d->Add("vararg");
d->Add(i - func_args->NumFields()); int va_num = i - num_fields;
d->Add(va_num);
} }
else else
d->Add(func_args->FieldName(i)); d->Add(func_args->FieldName(i));