rem: free_contact(ptr);
add: tmp = ptr; ptr = ptr->next; free_contact(tmp); } else { prev = ptr; ptr = ptr->next;
context: int remove_zero_expires(location_t* _loc){	contact_t* ptr, *prev;#ifdef PARANOID	if (!_loc) {		LOG(L_ERR, "remove_zero_expires(): Invalid parameter value\n");		return FALSE;	}#endif	ptr = _loc->contacts;	prev = NULL;	while(ptr) {		if (ptr->expires == 0) {			if (prev) {				prev->next = ptr->next;			} else {				_loc->contacts = ptr->next;			}			free_contact(ptr);		}		prev = ptr;		ptr = ptr->next;	}	return TRUE;}