From cec2d4460940fb928cf17bc21fe54c3233d29573 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Tue, 4 Jan 2011 08:48:25 +0100 Subject: [PATCH] Be more tolerant when selecting slaves and domains. --- tool/Command.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/tool/Command.cpp b/tool/Command.cpp index 4e68bf34..de9e246c 100644 --- a/tool/Command.cpp +++ b/tool/Command.cpp @@ -339,8 +339,10 @@ Command::SlaveList Command::selectedSlaves(MasterDevice &m) NumberListParser::List::const_iterator pi; for (pi = posList.begin(); pi != posList.end(); pi++) { - m.getSlave(&slave, *pi); - list.push_back(slave); + if (*pi < master.slave_count) { + m.getSlave(&slave, *pi); + list.push_back(slave); + } } } else { // aliases given SlaveAliasParser ap(master, m); @@ -375,11 +377,6 @@ Command::SlaveList Command::selectedSlaves(MasterDevice &m) for (pi = posList.begin(); pi != posList.end(); pi++) { if (*pi < aliasSlaves.size()) { list.push_back(aliasSlaves[*pi]); - } else { - stringstream err; - err << "Warning: Slave " << *ai << ":" << *pi - << " does not exist on master " << m.getIndex(); - throwCommandException(err); } } } @@ -475,9 +472,11 @@ Command::DomainList Command::selectedDomains(MasterDevice &m) NumberListParser::List::const_iterator di; for (di = domList.begin(); di != domList.end(); di++) { - ec_ioctl_domain_t d; - m.getDomain(&d, *di); - list.push_back(d); + if (*di < master.domain_count) { + ec_ioctl_domain_t d; + m.getDomain(&d, *di); + list.push_back(d); + } } return list;