]> Shamusworld >> Repos - rmac/blobdiff - listing.c
Fixed word reversed fixup problem.
[rmac] / listing.c
index cea150b4a7c8c0f29c72a82f63578e9122da346f..530691334c3ea0d8574ab7a097cedff0ae5d60bb 100644 (file)
--- a/listing.c
+++ b/listing.c
 #include "sect.h"
 #include "error.h"
 
-char * list_fname;                                          // Listing filename
-char subttl[TITLESIZ];                                      // Current subtitle
-int listing;                                                // Listing level 
-int pagelen = 61;                                           // Lines on a page
-int nlines;                                                 // #lines on page so far
-LONG lsloc;                                                 // `sloc' at start of line 
+char * list_fname;                                     // Listing filename
+char subttl[TITLESIZ];                         // Current subtitle
+int listing;                                           // Listing level 
+int pagelen = 61;                                      // Lines on a page
+int nlines;                                                    // #lines on page so far
+LONG lsloc;                                                    // `sloc' at start of line 
 
 // Private
-static int lcursect;                                        // `cursect' at start of line
-static int llineno;                                         // `curlineno' at start of line 
-static int pageno;                                          // Current page number 
-static int pagewidth;                                       // #columns on a page
-static int subflag;                                         // 0, don't do .eject on subttl (set 1)
-static char lnimage[IMAGESIZ];                              // Image of output line
-static char title[TITLESIZ];                                // Current title
-static char datestr[20];                                    // Current date dd-mon-yyyy 
-static char timestr[20];                                    // Current time hh:mm:ss [am|pm]
-static char buf[IMAGESIZ];                                  // Buffer for numbers
-
-static char * month[16] = { "",    "Jan", "Feb", "Mar",
-                           "Apr", "May", "Jun", "Jul",
-                           "Aug", "Sep", "Oct", "Nov",
-                           "Dec", "",    "",    ""     };
+static int lcursect;                           // `cursect' at start of line
+static int llineno;                                    // `curlineno' at start of line 
+static int pageno;                                     // Current page number 
+static int pagewidth;                          // #columns on a page
+static int subflag;                                    // 0, don't do .eject on subttl (set 1)
+static char lnimage[IMAGESIZ];         // Image of output line
+static char title[TITLESIZ];           // Current title
+static char datestr[20];                       // Current date dd-mon-yyyy 
+static char timestr[20];                       // Current time hh:mm:ss [am|pm]
+static char buf[IMAGESIZ];                     // Buffer for numbers
+static long unused;                                    // For supressing 'write' warnings
+
+static char * month[16] = {
+       "",    "Jan", "Feb", "Mar",
+       "Apr", "May", "Jun", "Jul",
+       "Aug", "Sep", "Oct", "Nov",
+       "Dec", "",    "",    ""
+};
 
 //
 // Eject the Page (Print Empty Lines), Reset the Line Count and Bump the Page Number
@@ -133,7 +136,7 @@ void date_string(char * buf, VALUE date)
 void scopy(char *dest, char *src, int len)
 {
        if (len < 0)
-               len = 1000;                                           // Some large number
+               len = 1000;                     // Some large number [Shamus: wha...?]
 
        while (len-- && *src)
                *dest++ = *src++;
@@ -204,23 +207,24 @@ void taglist(char chr)
 //
 // Print a Line to the Listing File
 //
-void println(char * ln)
+void println(const char * ln)
 {
        unsigned int length;
 
-       if (list_fname != NULL)                                   //  Create listing file, if necessary
+       //  Create listing file, if necessary
+       if (list_fname != NULL)
                list_setup();
 
        length = strlen(ln);
-       write(list_fd, ln, length);
-       write(list_fd, "\n", 1L);
+       unused = write(list_fd, ln, length);
+       unused = write(list_fd, "\n", 1L);
 }
 
 
 //
 // Ship Line `ln' Out; Do Page Breaks and Title Stuff
 //
-void ship_ln(char * ln)
+void ship_ln(const char * ln)
 {
        // If listing level is <= 0, then don't print anything
        if (listing <= 0)
@@ -255,7 +259,7 @@ void ship_ln(char * ln)
 //
 // Initialize Listing Generator
 //
-void init_list(void)
+void InitListing(void)
 {
        extern VALUE dos_date(), dos_time();
 
@@ -302,7 +306,7 @@ void listeol(void)
        // deposited with dcb. The fix (kludge) is an extra variable which records
        // the fact that a 'ds.x' directive generated all the data, and it
        // shouldn't be listed
-       savsect();                                               // Update section variables
+       SaveSection();                                               // Update section variables
 
        if (lcursect == cursect && (sect[lcursect].scattr & SBSS) == 0
                && lsloc != sloc && just_bss == 0)
@@ -443,11 +447,13 @@ int d_subttl(void)
        if (*tok != STRING)
                return error("missing string");
 
-       strcpy(subttl, (char *)tok[1]);
+//     strcpy(subttl, (char *)tok[1]);
+       strcpy(subttl, string[tok[1]]);
 
        tok += 2;
 
-       if (ejectok && (subflag || pageno > 1))                   // Always eject on pages 2+ 
+       // Always eject on pages 2+ 
+       if (ejectok && (subflag || pageno > 1))
                eject();
 
        subflag = 1;
@@ -464,7 +470,8 @@ int d_title(void)
        if (*tok != STRING)
                return error("missing string");
        
-       strcpy(title, (char*)tok[1]);
+//     strcpy(title, (char*)tok[1]);
+       strcpy(title, string[tok[1]]);
        tok += 2;
 
        if (pageno > 1)