/* */
/* */
/* */
-/* (C) 2002-2003 Ullrich von Bassewitz */
-/* Römerstrasse 52 */
-/* D-70794 Filderstadt */
-/* EMail: uz@cc65.org */
+/* (C) 2002-2010, Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
unsigned Count;
unsigned I;
- /* Type of expression */
+ /* Symbol type */
TypeDesc[0] = '\0';
- switch (Flags & EXP_MASK_VAL) {
- case EXP_CONST: strcat (TypeDesc, "EXP_CONST"); break;
- case EXP_EXPR: strcat (TypeDesc, "EXP_EXPR"); break;
+ switch (Flags & SYM_MASK_TYPE) {
+ case SYM_STD: strcat (TypeDesc, "SYM_STD"); break;
+ case SYM_CHEAP_LOCAL: strcat (TypeDesc, "SYM_CHEAP_LOCAL"); break;
+ }
+
+ /* Symbol usage */
+ switch (Flags & SYM_MASK_LABEL) {
+ case SYM_EQUATE: strcat (TypeDesc, ",SYM_EQUATE"); break;
+ case SYM_LABEL: strcat (TypeDesc, ",SYM_LABEL"); break;
+ }
+
+ /* Type of expression */
+ switch (Flags & SYM_MASK_VAL) {
+ case SYM_CONST: strcat (TypeDesc, ",SYM_CONST"); break;
+ case SYM_EXPR: strcat (TypeDesc, ",SYM_EXPR"); break;
}
/* Constructor/destructor declarations */
T = TypeDesc + strlen (TypeDesc);
- Count = GET_EXP_CONDES_COUNT (Flags);
+ Count = SYM_GET_CONDES_COUNT (Flags);
if (Count > 0 && ConDes) {
- T += sprintf (T, ",EXP_CONDES=");
+ T += sprintf (T, ",SYM_CONDES=");
for (I = 0; I < Count; ++I) {
unsigned Type = CD_GET_TYPE (ConDes[I]);
unsigned Prio = CD_GET_PRIO (ConDes[I]);
case OPT_ARGSTR:
ArgStr = GetString (&StrPool, Val);
ArgLen = strlen (ArgStr);
- printf (" Data:%*s\"%s\"\n", 24-ArgLen, "", ArgStr);
+ printf (" Data:%*s\"%s\"\n", (int)(24-ArgLen), "", ArgStr);
break;
case OPT_ARGNUM:
printf (" Index:%27u\n", I);
/* Print the data */
- printf (" Name:%*s\"%s\"\n", 24-Len, "", Name);
+ printf (" Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
printf (" Size:%26lu\n", Size);
printf (" Modification time:%13lu (%s)\n", MTime, TimeToStr (MTime));
}
printf (" Index:%27u\n", I);
/* Print the data */
- printf (" Name:%*s\"%s\"\n", 24-Len, "", Name);
+ printf (" Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
printf (" Size:%26lu\n", Size);
printf (" Alignment:%21u\n", Align);
printf (" Address size:%14s0x%02X (%s)\n", "", AddrSize,
/* Print the data */
printf (" Address size:%14s0x%02X (%s)\n", "", AddrSize,
AddrSizeToStr (AddrSize));
- printf (" Name:%*s\"%s\"\n", 24-Len, "", Name);
+ printf (" Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
}
/* Destroy the string pool */
/* Read the data for one export */
- unsigned char Type = Read8 (F);
+ unsigned Type = ReadVar (F);
unsigned char AddrSize = Read8 (F);
- ReadData (F, ConDes, GET_EXP_CONDES_COUNT (Type));
+ ReadData (F, ConDes, SYM_GET_CONDES_COUNT (Type));
Name = GetString (&StrPool, ReadVar (F));
Len = strlen (Name);
- if (IS_EXP_EXPR (Type)) {
+ if (SYM_IS_EXPR (Type)) {
SkipExpr (F);
HaveValue = 0;
} else {
printf (" Type:%22s0x%02X (%s)\n", "", Type, GetExportFlags (Type, ConDes));
printf (" Address size:%14s0x%02X (%s)\n", "", AddrSize,
AddrSizeToStr (AddrSize));
- printf (" Name:%*s\"%s\"\n", 24-Len, "", Name);
+ printf (" Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
if (HaveValue) {
printf (" Value:%15s0x%08lX (%lu)\n", "", Value, Value);
}
int HaveValue;
/* Read the data for one symbol */
- unsigned char Type = Read8 (F);
+ unsigned Type = ReadVar (F);
unsigned char AddrSize = Read8 (F);
const char* Name = GetString (&StrPool, ReadVar (F));
unsigned Len = strlen (Name);
- if (IS_EXP_EXPR (Type)) {
+ if (SYM_IS_EXPR (Type)) {
SkipExpr (F);
HaveValue = 0;
} else {
printf (" Type:%22s0x%02X (%s)\n", "", Type, GetExportFlags (Type, 0));
printf (" Address size:%14s0x%02X (%s)\n", "", AddrSize,
AddrSizeToStr (AddrSize));
- printf (" Name:%*s\"%s\"\n", 24-Len, "", Name);
+ printf (" Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
if (HaveValue) {
printf (" Value:%15s0x%08lX (%lu)\n", "", Value, Value);
}
(void) ReadVar (F);
/* Print the size for this segment */
- printf (" %s:%*s%6lu\n", Name, 24-Len, "", Size);
+ printf (" %s:%*s%6lu\n", Name, (int)(24-Len), "", Size);
/* Seek to the end of the segment data (start of next) */
FileSetPos (F, NextSeg);