- OccupiedTrack *last_occ = occupied_tracks;
- for(unsigned n=occupied_tracks->n_tracks; n>1; --n)
- last_occ = last_occ->next;
+ unsigned count_to_free = 0;
+ unsigned last_sensor_addr = 0;
+ float distance_after_sensor = 0;
+ OccupiedTrack *occ = occupied_tracks;
+ for(unsigned n=occupied_tracks->n_tracks; n>0; --n)
+ {
+ if(unsigned saddr = occ->track->get_sensor_address())
+ {
+ if(saddr!=last_sensor_addr)
+ {
+ count_to_free = 0;
+ distance_after_sensor = 0;
+ }
+ last_sensor_addr = saddr;
+ }