return iter;
case FTDM_ITERATOR_CHANS:
ftdm_assert_return(iter->pvt.chaniter.index, NULL, "channel iterator index cannot be zero!\n");
- ftdm_assert_return(iter->pvt.chaniter.index <= iter->pvt.chaniter.span->chan_count, NULL, "channel iterator index bigger than span chan count!\n");
+ if (iter->pvt.chaniter.index == iter->pvt.chaniter.span->chan_count) {
+ return NULL;
+ }
iter->pvt.chaniter.index++;
return iter;
default:
}
ftdm_assert_return(iter->type, FTDM_FAIL, "Cannot free invalid iterator\n");
- ftdm_log(FTDM_LOG_DEBUG, "Freeing iterator %p\n", iter);
ftdm_safe_free(iter);
return FTDM_SUCCESS;