]> Shamusworld >> Repos - rmac/blobdiff - procln.c
Fix for "*" getting bad section attributes, reported by A. Seed.
[rmac] / procln.c
index d849b000c4b416b82d08a24e5cf4a0448c9260f7..8739ce6db05630d2a1726efb0efdae67f9042c12 100644 (file)
--- a/procln.c
+++ b/procln.c
@@ -3,7 +3,7 @@
 // PROCLN.C - Line Processing
 // Copyright (C) 199x Landon Dyer, 2011 Reboot and Friends
 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
-// Source Utilised with the Kind Permission of Landon Dyer
+// Source utilised with the kind permission of Landon Dyer
 //
 
 #include "procln.h"
@@ -371,7 +371,7 @@ normal:
                        {
 //REALLY?                              sy->sattre |= ~UNDEF_EQUR; 
                                sy->sattre &= ~UNDEF_EQUR; 
-                               sy->svalue  = 0;
+                               sy->svalue = 0;
                        }
                        else if ((equtyp == CCDEF) && (sy->sattre & UNDEF_CC))
                        {
@@ -386,9 +386,8 @@ normal:
                        }
                }
 
-               // Put symbol in "order of definition" list
-               if (!(sy->sattr & SDECLLIST))
-                       AddToSymbolOrderList(sy);
+               // Put symbol in "order of definition" list if it's not already there
+               AddToSymbolDeclarationList(sy);
 
                // Parse value to equate symbol to;
                // o  .equr
@@ -630,10 +629,10 @@ checking to see if it's already been equated, issue a warning.
                goto loop;
        }
 
-       if (sloc & 1)                                                   // Automatic .even
+       if (sloc & 1)                                   // Automatic .even
                auto_even();
 
-       if (challoc - ch_size < 18)                             // Make sure have space in current chunk
+       if (challoc - ch_size < 18)             // Make sure have space in current chunk
                chcheck(0);
 
        m = &machtab[state - 1000];
@@ -645,7 +644,7 @@ checking to see if it's already been equated, issue a warning.
                goto loop;
        }
 
-       if (amode(1) < 0)                                               // Parse 0, 1 or 2 addr modes
+       if (amode(1) < 0)                               // Parse 0, 1 or 2 addr modes
                goto loop;
 
        if (*tok != EOL)
@@ -694,9 +693,8 @@ int HandleLabel(char * label, int labelType)
        else if (symbol->sattr & DEFINED)
                return errors("multiply-defined label '%s'", label);
 
-       // Put symbol in "order of definition" list
-       if (!(symbol->sattr & SDECLLIST))
-               AddToSymbolOrderList(symbol);
+       // Put symbol in "order of definition" list if it's not already in it
+       AddToSymbolDeclarationList(symbol);
 
        if (orgactive)
        {