- unsigned nls = (*i)->get_n_link_slots();
- for(unsigned j=0; j<nls; ++j)
- if(Track *link = (*i)->get_link(j))
- if(!ctracks.count(link))
- goals.push_back(TrackIter(*i, j));
+ if(dir==TrackChain::UNSPECIFIED)
+ {
+ unsigned nls = (*i)->get_n_link_slots();
+ for(unsigned j=0; j<nls; ++j)
+ if(Track *link = (*i)->get_link(j))
+ if(!ctracks.count(link))
+ goals.push_back(TrackIter(*i, j));
+ }
+ else if(TrackIter iter = tc.iter_for(**i, reverse_dir))
+ goals.push_back(iter);