@@ -55,7 +55,7 @@ init_memory (struct pdp10_memory *memory)
55
55
memory -> current_address = 0 ;
56
56
}
57
57
58
- static void
58
+ static struct pdp10_area *
59
59
insert_area (struct pdp10_memory * memory , int i )
60
60
{
61
61
memory -> areas ++ ;
@@ -68,6 +68,7 @@ insert_area (struct pdp10_memory *memory, int i)
68
68
69
69
memmove (& memory -> area [i + 1 ], & memory -> area [i ],
70
70
(memory -> areas - i - 1 ) * sizeof (struct pdp10_area ));
71
+ return & memory -> area [i ];
71
72
}
72
73
73
74
int
@@ -103,9 +104,7 @@ add_memory (struct pdp10_memory *memory, int address, int length, word_t *data)
103
104
return 0 ;
104
105
}
105
106
106
- insert_area (memory , i );
107
-
108
- area = & memory -> area [i ];
107
+ area = insert_area (memory , i );
109
108
area -> start = address ;
110
109
area -> end = address + length ;
111
110
area -> flags = 0 ;
@@ -179,7 +178,7 @@ purify_memory (struct pdp10_memory *memory, int address, int length)
179
178
if (area -> start < i )
180
179
{
181
180
/* Impure area needs to split off first part. */
182
- insert_area (memory , area - memory -> area );
181
+ area = insert_area (memory , area - memory -> area );
183
182
area -> end = i ;
184
183
data = area -> data + area -> end - area -> start ;
185
184
@@ -194,7 +193,7 @@ purify_memory (struct pdp10_memory *memory, int address, int length)
194
193
if (area -> end > end )
195
194
{
196
195
/* Impure area needs to split off last part. */
197
- insert_area (memory , area - memory -> area );
196
+ area = insert_area (memory , area - memory -> area );
198
197
area -> end = i ;
199
198
area -> flags |= MEMORY_PURE ;
200
199
0 commit comments