diff -r 25cc77cf3993 -r f02ff486b313 tool/Command.cpp --- 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;