tool/Command.cpp
changeset 1160 f02ff486b313
parent 1159 25cc77cf3993
child 1166 006244d53f68
--- a/tool/Command.cpp	Mon Jul 28 12:11:50 2008 +0000
+++ b/tool/Command.cpp	Mon Jul 28 12:15:25 2008 +0000
@@ -108,15 +108,18 @@
 
 Command::SlaveList Command::selectedSlaves(MasterDevice &m)
 {
-    unsigned int numSlaves = m.slaveCount(), i, aliasIndex;
+    ec_ioctl_master_t master;
+    unsigned int i, aliasIndex;
     uint16_t lastAlias;
     ec_ioctl_slave_t slave;
     SlaveList list;
 
+    m.getMaster(&master);
+
     if (alias == -1) { // no alias given
         if (position == -1) { // no alias and position given
             // all items
-            for (i = 0; i < numSlaves; i++) {
+            for (i = 0; i < master.slave_count; i++) {
                 m.getSlave(&slave, i);
                 list.push_back(slave);
             }
@@ -129,7 +132,7 @@
         if (position == -1) { // alias, but no position given
             // take all items with a given alias
             lastAlias = 0;
-            for (i = 0; i < numSlaves; i++) {
+            for (i = 0; i < master.slave_count; i++) {
                 m.getSlave(&slave, i);
                 if (slave.alias) {
                     lastAlias = slave.alias;
@@ -141,7 +144,7 @@
         } else { // alias and position given
             lastAlias = 0;
             aliasIndex = 0;
-            for (i = 0; i < numSlaves; i++) {
+            for (i = 0; i < master.slave_count; i++) {
                 m.getSlave(&slave, i);
                 if (slave.alias && slave.alias == (uint16_t) alias) {
                     lastAlias = slave.alias;