OSDN Git Service

p16 is being worked on a bunch by me wwww [16_ca needs huge amounts of work and I...
authorsparky4 <sparky4@cock.li>
Wed, 19 Apr 2017 20:20:05 +0000 (15:20 -0500)
committersparky4 <sparky4@cock.li>
Wed, 19 Apr 2017 20:20:05 +0000 (15:20 -0500)
src/lib/16_mm.c

index 75fc0d9..2236494 100755 (executable)
@@ -1445,6 +1445,7 @@ void MM_ShowMemory (global_game_variables_t *gvar)
                        {\r
                                ccolor = 1;             // red = locked\r
                        }\r
+                       end = scaninfo[qq].scan->length-1;\r
 /*typedef struct mmblockstruct{\r
        word    start,length;\r
        unsigned        attributes;\r
@@ -1461,15 +1462,17 @@ void MM_ShowMemory (global_game_variables_t *gvar)
                        sprintf(global_temp_status_text, "block #%04u", qq); MMSMPRINTMEMINFO\r
 //                     sprintf(global_temp_status_text, "%Fp", scaninfo[qq].scan->useptr); MMSMPRINTMEMINFO\r
                        sprintf(global_temp_status_text, "%04x", (unsigned)scaninfo[qq].scan->useptr); MMSMPRINTMEMINFO\r
-                       sprintf(global_temp_status_text, "size: %05u", (unsigned)scan->length); MMSMPRINTMEMINFO\r
-                       sprintf(global_temp_status_text, "free: %05u", (unsigned)(scaninfo[qq].scan->next->start-scaninfo[qq].scan->start)); MMSMPRINTMEMINFO\r
-                       end = scaninfo[qq].scan->length-1;\r
+                       sprintf(global_temp_status_text, "size: %05u", (unsigned)scaninfo[qq].scan->length); MMSMPRINTMEMINFO\r
+                       if (scaninfo[qq].scan->next && scaninfo[qq].scan->next->start > end+1)\r
+                       {\r
+                               sprintf(global_temp_status_text, "free: %05u", (unsigned)(scaninfo[qq].scan->next->start-scaninfo[qq].scan->start)); MMSMPRINTMEMINFO\r
+                       }\r
                        y = ypos;//scaninfo[qq].scan->start/width;\r
                        x = xpos;//scaninfo[qq].scan->start%width;\r
                        VW_Hlin(x,x+end,y,ccolor,gvar);\r
                        VL_Plot(x,y,5,gvar);\r
                        if (scaninfo[qq].scan->next && scaninfo[qq].scan->next->start > end+1)\r
-                               VW_Hlin(x+end+1,x+(scaninfo[qq].scan->next->start-scan->start),y,3,gvar);       // black = free//now green\r
+                               VW_Hlin(x+end+1,x+(scaninfo[qq].scan->next->start-scaninfo[qq].scan->start),y,3,gvar);  // black = free//now green\r
 \r
                        //if (scan->next && scan->next->start > end+1) free\r
                        xpos = 16;\r