E->Type = 0;
E->Attr = 0;
E->AsmName = 0;
+ E->V.BssName = 0;
memcpy (E->Name, Name, Len+1);
/* Return the new entry */
void FreeSymEntry (SymEntry* E)
/* Free a symbol entry */
{
+ unsigned i;
+
TypeFree (E->Type);
xfree (E->AsmName);
+
+ if (E->Flags & SC_LABEL) {
+ for (i = 0; i < CollCount (E->V.L.DefsOrRefs); i++) {
+ xfree (CollAt (E->V.L.DefsOrRefs, i));
+ }
+
+ DoneCollection (E->V.L.DefsOrRefs);
+ }
+
xfree (E);
}
/* Print the assembler name if we have one */
if (E->AsmName) {
fprintf (F, " AsmName: %s\n", E->AsmName);
- }
+ }
/* Print the flags */
SymFlags = E->Flags;
- fprintf (F, " Flags: ");
+ fprintf (F, " Flags:");
for (I = 0; I < sizeof (Flags) / sizeof (Flags[0]) && SymFlags != 0; ++I) {
if ((SymFlags & Flags[I].Val) == Flags[I].Val) {
SymFlags &= ~Flags[I].Val;
- fprintf (F, "%s ", Flags[I].Name);
+ fprintf (F, " %s", Flags[I].Name);
}
}
if (SymFlags != 0) {
- fprintf (F, "%04X", SymFlags);
+ fprintf (F, " 0x%05X", SymFlags);
}
fprintf (F, "\n");