mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 10:49:34 +02:00
Set variable_length flag early
This commit is contained in:
parent
81a678ce68
commit
0ba753427a
1 changed files with 7 additions and 4 deletions
|
@ -1290,18 +1290,21 @@ void TypeCode::saveXml(ostream &s) const
|
|||
void TypeCode::restoreXml(const Element *el,TypeFactory &typegrp)
|
||||
|
||||
{
|
||||
const List &list(el->getChildren());
|
||||
List::const_iterator iter;
|
||||
iter = list.begin();
|
||||
if (iter != list.end()) {
|
||||
// Traditionally a <prototype> tag implies variable length, without a "varlength" attribute
|
||||
flags |= variable_length;
|
||||
}
|
||||
restoreXmlBasic(el);
|
||||
if (proto != (FuncProto *)0) {
|
||||
delete proto;
|
||||
proto = (FuncProto *)0;
|
||||
}
|
||||
const List &list(el->getChildren());
|
||||
List::const_iterator iter;
|
||||
iter = list.begin();
|
||||
if (iter == list.end()) return; // No underlying prototype
|
||||
Architecture *glb = typegrp.getArch();
|
||||
factory = &typegrp;
|
||||
flags |= variable_length;
|
||||
proto = new FuncProto();
|
||||
proto->setInternal( glb->defaultfp, typegrp.getTypeVoid() );
|
||||
proto->restoreXml(*iter,glb);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue