]> Shamusworld >> Repos - rmac/blobdiff - sect.c
Fixed error reporting wrong file, off-by-one error in file record system.
[rmac] / sect.c
diff --git a/sect.c b/sect.c
index 1046588fd31e073351f6d363beb75e74a4da5a20..66219b6833bac65d9fd489b640076bb3900df352 100644 (file)
--- a/sect.c
+++ b/sect.c
@@ -210,6 +210,7 @@ int fixtest(int sno, LONG loc)
 //
 int chcheck(LONG amt)
 {
+       DEBUG { printf("chcheck(%u)\n", amt); }
        // If in BSS section, no allocation required
        if (scattr & SBSS)
                return 0;
@@ -217,12 +218,14 @@ int chcheck(LONG amt)
        if (!amt)
                amt = CH_THRESHOLD;
 
+       DEBUG { printf("    challoc=%i, ch_size=%i, diff=%i\n", challoc, ch_size, challoc-ch_size); }
        if ((int)(challoc - ch_size) >= (int)amt) 
                return 0;
 
        if (amt < CH_CODE_SIZE)
                amt = CH_CODE_SIZE;
 
+       DEBUG { printf("    amt (adjusted)=%u\n", amt); }
        SECT * p = &sect[cursect];
        CHUNK * cp = malloc(sizeof(CHUNK) + amt);
 
@@ -451,6 +454,7 @@ int ResolveFixups(int sno)
                        loc = *fup.lp++;
                        cfileno = *fup.wp++;
                        curlineno = (int)*fup.wp++;
+DEBUG { printf("ResolveFixups: cfileno=%u\n", cfileno); }
 
                        esym = NULL;