X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d20f024dba9ff1e9c8822237caaf963b9e913889..d6ee04bb4b77788c1f17220a2117f41573c9dcde:/src/bindings/lua/lua_platf.cpp diff --git a/src/bindings/lua/lua_platf.cpp b/src/bindings/lua/lua_platf.cpp index 90c72c6490..2fbc75ea1c 100644 --- a/src/bindings/lua/lua_platf.cpp +++ b/src/bindings/lua/lua_platf.cpp @@ -90,8 +90,9 @@ int console_add_backbone(lua_State *L) { lua_pop(L, 1); lua_pushstring(L, "sharing_policy"); - type = lua_gettable(L, -2); + lua_gettable(L, -2); const char* policy = lua_tostring(L, -1); + lua_pop(L, 1); if (policy && not strcmp(policy, "FULLDUPLEX")) { link.policy = SURF_LINK_FULLDUPLEX; } else if (policy && not strcmp(policy, "FATPIPE")) { @@ -139,8 +140,7 @@ int console_add_host___link(lua_State *L) { } int console_add_host(lua_State *L) { - s_sg_platf_host_cbarg_t host; - memset(&host,0,sizeof(host)); + s_sg_platf_host_cbarg_t host{}; int type; // we get values from the table passed as argument @@ -302,8 +302,7 @@ int console_add_router(lua_State* L) { int console_add_route(lua_State *L) { XBT_DEBUG("Adding route"); - s_sg_platf_route_cbarg_t route; - memset(&route,0,sizeof(route)); + s_sg_platf_route_cbarg_t route{}; int type; lua_ensure(lua_istable(L, -1), "Bad Arguments to add a route. Should be a table with named arguments"); @@ -328,19 +327,18 @@ int console_add_route(lua_State *L) { type = lua_gettable(L,-2); lua_ensure(type == LUA_TSTRING, "Attribute 'links' must be specified for any route and must be a string (different links separated by commas or single spaces."); - route.link_list = new std::vector(); std::vector names; const char* str = lua_tostring(L, -1); boost::split(names, str, boost::is_any_of(", \t\r\n")); if (names.empty()) { /* unique name */ - route.link_list->push_back(simgrid::surf::LinkImpl::byName(lua_tostring(L, -1))); + route.link_list.push_back(simgrid::surf::LinkImpl::byName(lua_tostring(L, -1))); } else { // Several names separated by , \t\r\n for (auto const& name : names) { if (name.length() > 0) { simgrid::surf::LinkImpl* link = simgrid::surf::LinkImpl::byName(name); - route.link_list->push_back(link); + route.link_list.push_back(link); } } } @@ -370,14 +368,12 @@ int console_add_route(lua_State *L) { route.gw_dst = nullptr; sg_platf_new_route(&route); - delete route.link_list; return 0; } int console_add_ASroute(lua_State *L) { - s_sg_platf_route_cbarg_t ASroute; - memset(&ASroute,0,sizeof(ASroute)); + s_sg_platf_route_cbarg_t ASroute{}; lua_pushstring(L, "src"); lua_gettable(L, -2); @@ -409,19 +405,18 @@ int console_add_ASroute(lua_State *L) { lua_pushstring(L,"links"); lua_gettable(L,-2); - ASroute.link_list = new std::vector(); std::vector names; const char* str = lua_tostring(L, -1); boost::split(names, str, boost::is_any_of(", \t\r\n")); if (names.empty()) { /* unique name with no comma */ - ASroute.link_list->push_back(simgrid::surf::LinkImpl::byName(lua_tostring(L, -1))); + ASroute.link_list.push_back(simgrid::surf::LinkImpl::byName(lua_tostring(L, -1))); } else { // Several names separated by , \t\r\n for (auto const& name : names) { if (name.length() > 0) { simgrid::surf::LinkImpl* link = simgrid::surf::LinkImpl::byName(name); - ASroute.link_list->push_back(link); + ASroute.link_list.push_back(link); } } } @@ -442,7 +437,6 @@ int console_add_ASroute(lua_State *L) { lua_pop(L,1); sg_platf_new_route(&ASroute); - delete ASroute.link_list; return 0; }