]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/signal.cpp
Improve the interface and algorithms of BlockAllocator
[r2c2.git] / source / libr2c2 / signal.cpp
index 7ccb23874a7feb6c5659556b513ab4ecaea90a25..a858e0dc92b99293eb142f8172f7902d563acb22 100644 (file)
@@ -163,8 +163,8 @@ void Signal::block_reserved(const Block &b, Train *t)
        {
                if(t)
                {
-                       int train_entry = t->get_block_allocator().get_entry_to_block(*block);
-                       if(train_entry>=0 && static_cast<unsigned>(train_entry)==entry)
+                       const BlockIter &b_iter = t->get_block_allocator().iter_for(b);
+                       if(b_iter && b_iter.entry()==entry)
                        {
                                if(train_conn)
                                        train_conn.disconnect();