diff --git a/src/Type.cc b/src/Type.cc index c9b92784b3..770d15d48e 100644 --- a/src/Type.cc +++ b/src/Type.cc @@ -847,36 +847,34 @@ TableVal* RecordType::GetRecordFieldsVal(const RecordVal* rv) const if ( ft->Tag() == TYPE_RECORD ) nr->Assign(0, new StringVal("record " + ft->GetName())); else if ( ft->Tag() == TYPE_VECTOR ) - { - string s = "vector["; - s += type_name(ft->YieldType()->Tag()); - s += "]"; - nr->Assign(0, new StringVal(s)); - } + { + string s = fmt("vector of %s", ft->YieldType()->Tag()); + nr->Assign(0, new StringVal(s)); + } else if ( ft->Tag() == TYPE_TABLE ) - { - string s; - if ( ft->IsSet() ) - s = "set["; - else - s = "table["; - const type_list* tl = ((const IndexType*) ft)->IndexTypes(); - loop_over_list(*tl, i) - { - if ( i > 0 ) - s += ","; - s += type_name((*tl)[i]->Tag()); - } - s += "]"; - if ( ft->YieldType() ) - { - s += " of "; - s += type_name(ft->YieldType()->Tag()); - } - nr->Assign(0, new StringVal(s)); - } - else - nr->Assign(0, new StringVal(type_name(ft->Tag()))); + { + string s; + if ( ft->IsSet() ) + s = "set["; + else + s = "table["; + const type_list* tl = ((const IndexType*) ft)->IndexTypes(); + loop_over_list(*tl, i) + { + if ( i > 0 ) + s += ","; + s += type_name((*tl)[i]->Tag()); + } + s += "]"; + if ( ft->YieldType() ) + { + s += " of "; + s += type_name(ft->YieldType()->Tag()); + } + nr->Assign(0, new StringVal(s)); + } + else + nr->Assign(0, new StringVal(type_name(ft->Tag()))); nr->Assign(1, val_mgr->GetBool(logged)); nr->Assign(2, fv);