]> git.sur5r.net Git - cc65/commitdiff
Export NewSpan() - this will be needed later.
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 18 Aug 2011 11:57:17 +0000 (11:57 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 18 Aug 2011 11:57:17 +0000 (11:57 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@5206 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/ld65/span.c
src/ld65/span.h

index 480e1243325938162ff7a14ca9eb4ebec3ff2f86..68c5059516c89ee75e0e8fb45f7b86d683849e6f 100644 (file)
@@ -66,18 +66,21 @@ struct Span {
 
 
 
-static Span* NewSpan (unsigned Id, unsigned SecId, unsigned long Offs, unsigned long Size)
+Span* NewSpan (ObjData* Obj, unsigned SecId, unsigned long Offs, unsigned long Size)
 /* Create and return a new span */
 {
     /* Allocate memory */
     Span* S = xmalloc (sizeof (*S));
 
     /* Initialize the fields */
-    S->Id       = Id;
+    S->Id       = CollCount (&Obj->Spans);
     S->Sec      = SecId;
     S->Offs     = Offs;
     S->Size     = Size;
 
+    /* Insert it into the collection of all spans of this object file */
+    CollAppend (&Obj->Spans, S);
+
     /* Return the result */
     return S;
 }
@@ -87,17 +90,11 @@ static Span* NewSpan (unsigned Id, unsigned SecId, unsigned long Offs, unsigned
 Span* ReadSpan (FILE* F, ObjData* O)
 /* Read a Span from a file and return it */
 {
-    /* Create a new Span */
+    /* Create a new Span and return it */
     unsigned SecId     = ReadVar (F);
     unsigned long Offs = ReadVar (F);
     unsigned Size      = ReadVar (F);
-    Span* S = NewSpan (CollCount (&O->Spans), SecId, Offs, Size);
-
-    /* Insert it into the collection of all spans of this object file */
-    CollAppend (&O->Spans, S);
-
-    /* And return it */
-    return S;
+    return NewSpan (O, SecId, Offs, Size);
 }
 
 
@@ -178,9 +175,9 @@ void PrintDbgSpans (FILE* F)
 
             /* Output the data */
             fprintf (F, "span\tid=%u,seg=%u,start=%lu,size=%lu\n",
-                     O->SpanBaseId + S->Id, 
-                     Sec->Seg->Id, 
-                     Sec->Offs + S->Offs, 
+                     O->SpanBaseId + S->Id,
+                     Sec->Seg->Id,
+                     Sec->Offs + S->Offs,
                      S->Size);
         }
     }
index 335344ff1b476f658e52a460629010ff5a3494a9..54726f6dec30f35b3108c8d3b5d758c15f7e147e 100644 (file)
@@ -73,6 +73,10 @@ typedef struct Span Span;
 
 
 
+Span* NewSpan (struct ObjData* Obj, unsigned SecId, unsigned long Offs, 
+               unsigned long Size);
+/* Create and return a new span */
+
 Span* ReadSpan (FILE* F, struct ObjData* O);
 /* Read a Span from a file and return it */