Lines Matching refs:newblock
97 struct mem_block *newblock;
99 /* break left [p, newblock, p->next], then p = newblock */
101 newblock =
103 if (!newblock)
105 newblock->ofs = startofs;
106 newblock->size = p->size - (startofs - p->ofs);
107 newblock->free = 1;
108 newblock->heap = p->heap;
110 newblock->next = p->next;
111 newblock->prev = p;
112 p->next->prev = newblock;
113 p->next = newblock;
115 newblock->next_free = p->next_free;
116 newblock->prev_free = p;
117 p->next_free->prev_free = newblock;
118 p->next_free = newblock;
120 p->size -= newblock->size;
121 p = newblock;
124 /* break right, also [p, newblock, p->next] */
126 newblock =
128 if (!newblock)
130 newblock->ofs = startofs + size;
131 newblock->size = p->size - size;
132 newblock->free = 1;
133 newblock->heap = p->heap;
135 newblock->next = p->next;
136 newblock->prev = p;
137 p->next->prev = newblock;
138 p->next = newblock;
140 newblock->next_free = p->next_free;
141 newblock->prev_free = p;
142 p->next_free->prev_free = newblock;
143 p->next_free = newblock;