diff -r 65781b048a47 -r ec6223c3b7ec tool/CommandCStruct.cpp --- a/tool/CommandCStruct.cpp Tue Feb 23 17:40:46 2010 +0100 +++ b/tool/CommandCStruct.cpp Wed Feb 24 16:27:11 2010 +0100 @@ -33,6 +33,7 @@ using namespace std; #include "CommandCStruct.h" +#include "MasterDevice.h" /*****************************************************************************/ @@ -67,7 +68,7 @@ /****************************************************************************/ -void CommandCStruct::execute(MasterDevice &m, const StringVector &args) +void CommandCStruct::execute(const StringVector &args) { SlaveList slaves; SlaveList::const_iterator si; @@ -78,11 +79,16 @@ throwInvalidUsageException(err); } - m.open(MasterDevice::Read); - slaves = selectedSlaves(m); - - for (si = slaves.begin(); si != slaves.end(); si++) { - generateSlaveCStruct(m, *si); + MasterIndexList::const_iterator mi; + for (mi = getMasterIndices().begin(); + mi != getMasterIndices().end(); mi++) { + MasterDevice m(*mi); + m.open(MasterDevice::Read); + slaves = selectedSlaves(m); + + for (si = slaves.begin(); si != slaves.end(); si++) { + generateSlaveCStruct(m, *si); + } } }