Make al_pop return null on empty lists instead of crashing

darcs-hash:20061025203433-ac50b-5d3a18d788d6f36dffe1136664f029a500989db9.gz
This commit is contained in:
axel 2006-10-26 06:34:33 +10:00
parent 4502fc74c3
commit c627509e59

11
util.c
View file

@ -948,7 +948,16 @@ void al_truncate( array_list_t *l, int new_sz )
static anything_t al_pop_generic( array_list_t *l )
{
anything_t e = l->arr[--l->pos];
anything_t e;
if( l->pos <= 0 )
{
memset( &e, 0, sizeof(anything_t ) );
return e;
}
e = l->arr[--l->pos];
if( (l->pos*3 < l->size) && (l->size < MIN_SIZE) )
{
anything_t *old_arr = l->arr;