]> Shamusworld >> Repos - rmac/blobdiff - sect.c
Fixed problem with nested MACROs.
[rmac] / sect.c
diff --git a/sect.c b/sect.c
index 53ba02b85edd65aa786d444a82a985d7169014f2..1046588fd31e073351f6d363beb75e74a4da5a20 100644 (file)
--- a/sect.c
+++ b/sect.c
@@ -71,9 +71,7 @@ static char fusizoffs[] = {
 //
 void mksect(int sno, WORD attr)
 {
-       SECT * p;                                                 // Section pointer
-
-       p = &sect[sno];
+       SECT * p = &sect[sno];
        p->scattr = attr;
        p->sloc = 0;
        p->scode = p->sfcode = NULL;
@@ -125,13 +123,13 @@ void savsect(void)
 {
        SECT * p = &sect[cursect];
 
-       p->scattr = scattr;                                      // Bailout section vars
+       p->scattr = scattr;                                             // Bailout section vars
        p->sloc = sloc;
 
-       if (scode != NULL)                                        // Bailout code chunk
+       if (scode != NULL)                                              // Bailout code chunk
                scode->ch_size = ch_size;
 
-       if (sfix != NULL)                                         // Bailout fixup chunk
+       if (sfix != NULL)                                               // Bailout fixup chunk
                sfix->ch_size = fchsize;
 }
 
@@ -279,7 +277,8 @@ int fixup(WORD attr, LONG loc, TOKEN * fexpr)
                if ((attr & 0x0F00) == FU_JR)
                {
 //                     i = 18;
-                       i = FIXUP_BASE_SIZE + (sizeof(LONG) * 2);
+//                     i = FIXUP_BASE_SIZE + (sizeof(LONG) * 2);
+                       i = FIXUP_BASE_SIZE + sizeof(SYM *) + sizeof(LONG);
                }
                else
                {