- enumName was being copied again when it was already copied by CopyTypeInto()
FreeType(dummy);
CopyTypeInto(specType, symbol->type);
specType->constant = isConstant;
-specType->typeName = __ecereNameSpace__ecere__sys__CopyString(symbol->type->name);
}
else if(!isTypedef)
{
{
struct __ecereNameSpace__ecere__sys__NamedLink64 * member, * next;
-if(type->__anon1.__anon1.enumName)
(__ecereNameSpace__ecere__com__eSystem_Delete(type->__anon1.__anon1.enumName), type->__anon1.__anon1.enumName = 0);
for(member = type->__anon1.__anon1.members.first; member; member = next)
{
void CopyTypeInto(Type type, Type src)
{
type = *src;
+
type.name = CopyString(src.name);
type.typeName = CopyString(src.typeName);
type.refCount = 1;
CopyTypeInto(specType, symbol.type);
specType.constant = isConstant;
- specType.typeName = CopyString(symbol.type.name);
}
else if(!isTypedef) // !specType.kind) // TESTING THIS FOR enum / typedef problem
{
case enumType:
{
NamedLink64 member, next;
- if(type.enumName)
- delete type.enumName;
+ delete type.enumName;
for(member = type.members.first; member; member = next)
{
next = member.next;