Simplify handling of free chunks.
This commit is contained in:
parent
54165b1315
commit
92af6f309b
1 changed files with 6 additions and 4 deletions
|
@ -73,9 +73,12 @@ lp_alloc(linpool *m, unsigned size)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (m->current && m->current->next)
|
||||
/* Still have free chunks from previous incarnation (before lp_flush()) */
|
||||
c = m->current->next;
|
||||
if (m->current)
|
||||
{
|
||||
/* Still have free chunks from previous incarnation (before lp_flush()) */
|
||||
c = m->current;
|
||||
m->current = c->next;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Need to allocate a new chunk */
|
||||
|
@ -85,7 +88,6 @@ lp_alloc(linpool *m, unsigned size)
|
|||
m->plast = &c->next;
|
||||
c->next = NULL;
|
||||
}
|
||||
m->current = c;
|
||||
m->ptr = c->data + size;
|
||||
m->end = c->data + m->chunk_size;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue