- head = hlink_list[start];
- while (from < hlink_count-1
- && LINKED(hlink_list[from], hlink_list[from+1])) {
- pool_free(idev_pool, 0, FPTR(hlink_list[from])->link_u.idev);
- FPTR(hlink_list[from])->link_u.links = pool_talloc(hlink_pool,
+ while (1) {
+ cur = hlink_list[from];
+ if (from == hlink_count-1
+ || !LINKED(cur, hlink_list[from+1]))
+ break;
+ pool_free(idev_pool, 0, FPTR(cur)->link_u.idev);
+ FPTR(cur)->link_u.links = pool_talloc(hlink_pool,