]> Shamusworld >> Repos - rmac/blobdiff - listing.c
Added -l* to enable listing without pagination. Fix bug where a wrong malloc would...
[rmac] / listing.c
index 3d632560ab89ccf8ce561a29b8d9fb6e10628f74..68f75b7068b1e2f6deaf55efa0ee0f947d779c3c 100644 (file)
--- a/listing.c
+++ b/listing.c
@@ -217,27 +217,30 @@ void ship_ln(const char * ln)
        if (listing <= 0)
                return;
 
-       // Notice bottom of page
-       if (nlines >= pagelen - BOT_MAR)
-               eject();
-
-       // Print title, boilerplate, and subtitle at top of page
-       if (nlines == 0)
-       {
-               pageno++;
-               println("");
-               date_string(datestr, dos_date());
-               time_string(timestr, dos_time());
-               sprintf(buf,
-                       "%-40s%-20s Page %-4d    %s %s        RMAC %01i.%01i.%02i (%s)",
-                       title, curfname, pageno, timestr, datestr, MAJOR, MINOR, PATCH,
-                       PLATFORM);
-               println(buf);
-               sprintf(buf, "%s", subttl);
-               println(buf);
-               println("");
-               nlines = 4;
-       }
+    if (list_pag)
+    {
+        // Notice bottom of page
+        if (nlines >= pagelen - BOT_MAR)
+            eject();
+
+        // Print title, boilerplate, and subtitle at top of page
+        if (nlines == 0)
+        {
+            pageno++;
+            println("");
+            date_string(datestr, dos_date());
+            time_string(timestr, dos_time());
+            sprintf(buf,
+                "%-40s%-20s Page %-4d    %s %s        RMAC %01i.%01i.%02i (%s)",
+                title, curfname, pageno, timestr, datestr, MAJOR, MINOR, PATCH,
+                PLATFORM);
+            println(buf);
+            sprintf(buf, "%s", subttl);
+            println(buf);
+            println("");
+            nlines = 4;
+        }
+    }
 
        println(ln);
        nlines++;
@@ -301,11 +304,14 @@ void listeol(void)
        {
                ch = sect[lcursect].sfcode;
 
+               if (lcursect != M6502)
+        {
                for(; ch!=NULL; ch=ch->chnext)
                {
                        if (lsloc >= ch->chloc && lsloc < (ch->chloc + ch->ch_size))
                                break;
                }
+        }
 
                // Fatal: Can't find chunk holding code
                if (ch == NULL)
@@ -331,7 +337,8 @@ nochunk:
                                strncpy(lnimage + LOC_COL, buf, 8);
                        }
 
-                       if (lsloc >= (ch->chloc + ch->ch_size))
+                       if (lcursect != M6502 &&
+                    lsloc >= (ch->chloc + ch->ch_size))
                        {
                                if ((ch = ch->chnext) == NULL)
                                        goto nochunk;