Skip to content

Commit 4d28ee7

Browse files
committed
fix gemini-code-assist review
1 parent 71057dc commit 4d28ee7

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

src/commands/yarpActionsPlayer/main.cpp

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -209,20 +209,22 @@ class scriptModule: public yarp::os::RFModule, public yarpActionsPlayer_IDL
209209
yError() << "Duplicate client entry: " << client_name;
210210
return false;
211211
}
212-
m_robotClients[client_name] = new yarp::dev::PolyDriver;
212+
yarp::dev::PolyDriver* pd_client = new yarp::dev::PolyDriver;
213213
yarp::os::Property clientoptions;
214214
clientoptions.put("device", "remote_controlboard");
215215
clientoptions.put("remote", remoteControlBoards);
216216
clientoptions.put("local", m_name + "/client/" + client_name);
217217
clientoptions.put("carrier", "fast_tcp");
218218

219219
//configure the client
220-
bool rob_ok = m_robotClients[client_name]->open(clientoptions);
220+
bool rob_ok = pd_client->open(clientoptions);
221221
if (!rob_ok)
222222
{
223223
yError() << "Unable to initialize client: " << client_name;
224+
delete pd_client;
224225
return false;
225226
}
227+
m_robotClients[client_name] = pd_client;
226228
}
227229
else
228230
{
@@ -267,38 +269,41 @@ class scriptModule: public yarp::os::RFModule, public yarpActionsPlayer_IDL
267269
}
268270

269271
//configure the remapper
270-
if (m_robotRemappers[remapper_name] != nullptr)
272+
if (m_robotRemappers.count(remapper_name))
271273
{
272274
yError() << "Duplicate remapper entry: " << remapper_name;
273275
return false;
274276
}
275-
m_robotRemappers[remapper_name] = new yarp::dev::PolyDriver;
277+
yarp::dev::PolyDriver* pd_remapper = new yarp::dev::PolyDriver;
276278
yarp::os::Property rmoptions;
277279
rmoptions.put("device", "controlboardremapper");
278280
yarp::os::Value* jlist = yarp::os::Value::makeList(axes_names.c_str());
279281
rmoptions.put("axesNames",jlist);
280-
bool rob_ok = m_robotRemappers[remapper_name]->open(rmoptions);
282+
bool rob_ok = pd_remapper->open(rmoptions);
281283
if (!rob_ok)
282284
{
283285
yError() << "Unable to initialize remapper: " << remapper_name;
286+
delete pd_remapper;
284287
return false;
285288
}
289+
m_robotRemappers[remapper_name] = pd_remapper;
286290

287291
//attach the remapper to one or more clients
288292
{
289293
yarp::dev::IMultipleWrapper* ww_rem=nullptr;
290294
m_robotRemappers[remapper_name]->view(ww_rem);
291295
yarp::dev::PolyDriverList pdlist;
292-
for (size_t i=0; i<clients_name->size(); i++)
296+
for (size_t j=0; j<clients_name->size(); j++)
293297
{
294-
std::string cnn = clients_name->get(i).toString();
295-
yarp::dev::PolyDriver* ddnwc = m_robotClients[cnn];
296-
if (ddnwc == nullptr)
298+
std::string cnn = clients_name->get(j).toString();
299+
auto it = m_robotClients.find(cnn);
300+
if (it == m_robotClients.end() || it->second == nullptr)
297301
{
298-
yError() << "Configuration error while searching for client" << cnn;
302+
yError() << "Configuration error: client '" << cnn << "' not found or is invalid.";
299303
return false;
300304
}
301-
std::string boardname = "nwcboard" + std::to_string(i);
305+
yarp::dev::PolyDriver* ddnwc = it->second;
306+
std::string boardname = "nwcboard" + std::to_string(j);
302307
pdlist.push(ddnwc, boardname.c_str());
303308
}
304309
bool result_att = ww_rem->attachAll(pdlist);
@@ -311,19 +316,21 @@ class scriptModule: public yarp::os::RFModule, public yarpActionsPlayer_IDL
311316
}
312317

313318
//put the controller in the list
314-
if (m_robotControllers[remapper_name] != nullptr)
319+
if (m_robotControllers.count(remapper_name))
315320
{
316321
yError() << "Duplicate controller entry: " << remapper_name;
317322
return false;
318323
}
319-
m_robotControllers[remapper_name] = new robotDriver;
320-
rob_ok = m_robotControllers[remapper_name]->configure(m_robotRemappers[remapper_name]);
321-
rob_ok &= m_robotControllers[remapper_name]->init();
324+
robotDriver* robDrv = new robotDriver;
325+
rob_ok = robDrv->configure(m_robotRemappers[remapper_name]);
326+
rob_ok &= robDrv->init();
322327
if (!rob_ok)
323328
{
324329
yError() << "Unable to initialize controller: " << remapper_name;
330+
delete robDrv;
325331
return false;
326332
}
333+
m_robotControllers[remapper_name] = robDrv;
327334
}
328335
else
329336
{

0 commit comments

Comments
 (0)