]> Shamusworld >> Repos - rmac/blobdiff - direct.c
Fix for bug where in alcyon mode the tokenizer would read past the end of the line.
[rmac] / direct.c
index 900c629a3b686d392b207cf4e36bad04adab8991..a7368550bd82857811166b1aa6956cfe59889d71 100644 (file)
--- a/direct.c
+++ b/direct.c
@@ -929,7 +929,9 @@ int d_ds(WORD siz)
 
        // Check to see if the value being passed in is negative (who the hell does
        // that?--nobody does; it's the code gremlins, or rum, that does it)
-       if (eval < 0)
+       // N.B.: Since VALUE is of type uint32_t, if it goes negative, it will have
+       //       its high bit set.
+       if (eval & 0x80000000)
                return error("negative sizes not allowed");
 
        // In non-TDB section (BSS, ABS and M6502) just advance the location
@@ -1004,7 +1006,6 @@ int d_dc(WORD siz)
                                error("String format not supported... yet");
                        }
 
-
                        tok += 2;
                        goto comma;
                }