struct mem_block *p;
int mask = (1 << align2)-1;
- list_for_each(p, heap) {
+ for (p = heap->next ; p != heap ; p = p->next) {
int start = (p->start + mask) & ~mask;
if (p->filp == 0 && start + size <= p->start + p->size)
return split_block( p, start, size, filp );
{
struct mem_block *p;
- list_for_each(p, heap)
+ for (p = heap->next ; p != heap ; p = p->next)
if (p->start == start)
return p;
if (!heap || !heap->next)
return;
- list_for_each(p, heap) {
+ for (p = heap->next ; p != heap ; p = p->next) {
if (p->filp == filp)
p->filp = NULL;
}
/* Assumes a single contiguous range. Needs a special filp in
* 'heap' to stop it being subsumed.
*/
- list_for_each(p, heap) {
+ for (p = heap->next ; p != heap ; p = p->next) {
while (p->filp == 0 && p->next->filp == 0) {
struct mem_block *q = p->next;
p->size += q->size;