char *PtrName; // Type's name\r
}S_BaseTypeStruct;\r
\r
+// Definitions for the variables's typetag\r
+#define TypeTag_structure 0x01 // structure\r
+#define TypeTag_pointer 0x02 // pointer\r
+#define TypeTag_0x04 0x04\r
+#define TypeTag_arraytype 0x08 // array type\r
+#define TypeTag_consttype 0x10 // const type\r
+#define TypeTag_typedef 0x20 // typedef\r
+\r
// Variables internal structure\r
struct VariablesStruct\r
{\r
break;\r
\r
case DW_TAG_typedef:\r
- PtrVariables->TypeTag |= 0x20;\r
- strcat(PtrVariables->PtrTypeName, PtrCU[NbCU].PtrTypes[j].PtrName);\r
+ if (!(PtrVariables->TypeTag & 0x20))\r
+ {\r
+ PtrVariables->TypeTag |= 0x20;\r
+ strcat(PtrVariables->PtrTypeName, PtrCU[NbCU].PtrTypes[j].PtrName);\r
+ }\r
if ((TypeOffset = PtrCU[NbCU].PtrTypes[j].TypeOffset))\r
{\r
j = -1;\r
break;\r
\r
case DW_TAG_base_type:\r
- strcat(PtrVariables->PtrTypeName, PtrCU[NbCU].PtrTypes[j].PtrName);\r
+ if (!(PtrVariables->TypeTag & 0x20))\r
+ {\r
+ strcat(PtrVariables->PtrTypeName, PtrCU[NbCU].PtrTypes[j].PtrName);\r
+ }\r
if ((PtrVariables->TypeTag & 0x2))\r
{\r
strcat(PtrVariables->PtrTypeName, " *");\r