X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcc65%2Fcodelab.c;h=f4c14ea752ed038bbfaab45b67f6ab8f91803ae6;hb=c130e597b013e37c94afd6651be1e8859ba7e5ac;hp=89b45b0e6d4d9a0fb45699aad9460ea584fa11db;hpb=989aacec2c0a5aa83b7c719d1f5292c8cd0183df;p=cc65 diff --git a/src/cc65/codelab.c b/src/cc65/codelab.c index 89b45b0e6..f4c14ea75 100644 --- a/src/cc65/codelab.c +++ b/src/cc65/codelab.c @@ -59,7 +59,6 @@ CodeLabel* NewCodeLabel (const char* Name, unsigned Hash) L->Next = 0; L->Name = xstrdup (Name); L->Hash = Hash; - L->Flags = 0; L->Owner = 0; InitCollection (&L->JumpFrom); @@ -84,7 +83,7 @@ void FreeCodeLabel (CodeLabel* L) -void AddLabelRef (CodeLabel* L, struct CodeEntry* E) +void CL_AddRef (CodeLabel* L, struct CodeEntry* E) /* Let the CodeEntry E reference the label L */ { /* The insn at E jumps to this label */ @@ -96,21 +95,21 @@ void AddLabelRef (CodeLabel* L, struct CodeEntry* E) -void MoveLabelRefs (CodeLabel* OldLabel, CodeLabel* NewLabel) +void CL_MoveRefs (CodeLabel* OldLabel, CodeLabel* NewLabel) /* Move all references to OldLabel to point to NewLabel. OldLabel will have no * more references on return. */ { /* Walk through all instructions referencing the old label */ - unsigned Count = CollCount (&OldLabel->JumpFrom); + unsigned Count = CL_GetRefCount (OldLabel); while (Count--) { /* Get the instruction that references the old label */ - CodeEntry* E = CollAt (&OldLabel->JumpFrom, Count); + CodeEntry* E = CL_GetRef (OldLabel, Count); /* Change the reference to the new label */ CHECK (E->JumpTo == OldLabel); - AddLabelRef (NewLabel, E); + CL_AddRef (NewLabel, E); } @@ -120,11 +119,16 @@ void MoveLabelRefs (CodeLabel* OldLabel, CodeLabel* NewLabel) -void OutputCodeLabel (const CodeLabel* L, FILE* F) +void CL_Output (const CodeLabel* L, FILE* F) /* Output the code label to a file */ { fprintf (F, "%s:", L->Name); + if (strlen (L->Name) > 6) { + /* Label is too long, add a linefeed */ + fputc ('\n', F); + } } +