X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8164c2d758134b0e83cded911ddd43ce07dc8ead..f66a6e1429d8c4463f61c306a71bc941d46fb8af:/src/surf/xml/surfxml_sax_cb.cpp diff --git a/src/surf/xml/surfxml_sax_cb.cpp b/src/surf/xml/surfxml_sax_cb.cpp index e370d13152..67f14a4432 100644 --- a/src/surf/xml/surfxml_sax_cb.cpp +++ b/src/surf/xml/surfxml_sax_cb.cpp @@ -426,7 +426,7 @@ void STag_surfxml_prop() } void ETag_surfxml_host() { - s_sg_platf_host_cbarg_t host{}; + s_sg_platf_host_cbarg_t host; host.properties = current_property_set; current_property_set = nullptr; @@ -692,21 +692,17 @@ void STag_surfxml_bypassZoneRoute(){ } void ETag_surfxml_route(){ - s_sg_platf_route_cbarg_t route{}; + s_sg_platf_route_cbarg_t route; route.src = sg_netpoint_by_name_or_null(A_surfxml_route_src); // tested to not be nullptr in start tag route.dst = sg_netpoint_by_name_or_null(A_surfxml_route_dst); // tested to not be nullptr in start tag route.gw_src = nullptr; route.gw_dst = nullptr; - route.link_list = new std::vector(); route.symmetrical = (A_surfxml_route_symmetrical == A_surfxml_route_symmetrical_YES); - for (auto const& link : parsed_link_list) - route.link_list->push_back(link); - parsed_link_list.clear(); + route.link_list.swap(parsed_link_list); sg_platf_new_route(&route); - delete route.link_list; } void ETag_surfxml_ASroute() @@ -720,7 +716,7 @@ void ETag_surfxml_ASroute() } void ETag_surfxml_zoneRoute() { - s_sg_platf_route_cbarg_t ASroute{}; + s_sg_platf_route_cbarg_t ASroute; ASroute.src = sg_netpoint_by_name_or_null(A_surfxml_zoneRoute_src); // tested to not be nullptr in start tag ASroute.dst = sg_netpoint_by_name_or_null(A_surfxml_zoneRoute_dst); // tested to not be nullptr in start tag @@ -728,11 +724,7 @@ void ETag_surfxml_zoneRoute() ASroute.gw_src = sg_netpoint_by_name_or_null(A_surfxml_zoneRoute_gw___src); // tested to not be nullptr in start tag ASroute.gw_dst = sg_netpoint_by_name_or_null(A_surfxml_zoneRoute_gw___dst); // tested to not be nullptr in start tag - ASroute.link_list = new std::vector(); - - for (auto const& link : parsed_link_list) - ASroute.link_list->push_back(link); - parsed_link_list.clear(); + ASroute.link_list.swap(parsed_link_list); switch (A_surfxml_zoneRoute_symmetrical) { case AU_surfxml_zoneRoute_symmetrical: @@ -747,25 +739,20 @@ void ETag_surfxml_zoneRoute() } sg_platf_new_route(&ASroute); - delete ASroute.link_list; } void ETag_surfxml_bypassRoute(){ - s_sg_platf_route_cbarg_t route{}; + s_sg_platf_route_cbarg_t route; route.src = sg_netpoint_by_name_or_null(A_surfxml_bypassRoute_src); // tested to not be nullptr in start tag route.dst = sg_netpoint_by_name_or_null(A_surfxml_bypassRoute_dst); // tested to not be nullptr in start tag route.gw_src = nullptr; route.gw_dst = nullptr; route.symmetrical = false; - route.link_list = new std::vector(); - for (auto const& link : parsed_link_list) - route.link_list->push_back(link); - parsed_link_list.clear(); + route.link_list.swap(parsed_link_list); sg_platf_new_bypassRoute(&route); - delete route.link_list; } void ETag_surfxml_bypassASroute() @@ -778,14 +765,11 @@ void ETag_surfxml_bypassASroute() } void ETag_surfxml_bypassZoneRoute() { - s_sg_platf_route_cbarg_t ASroute{}; + s_sg_platf_route_cbarg_t ASroute; ASroute.src = sg_netpoint_by_name_or_null(A_surfxml_bypassZoneRoute_src); ASroute.dst = sg_netpoint_by_name_or_null(A_surfxml_bypassZoneRoute_dst); - ASroute.link_list = new std::vector(); - for (auto const& link : parsed_link_list) - ASroute.link_list->push_back(link); - parsed_link_list.clear(); + ASroute.link_list.swap(parsed_link_list); ASroute.symmetrical = false; @@ -793,7 +777,6 @@ void ETag_surfxml_bypassZoneRoute() ASroute.gw_dst = sg_netpoint_by_name_or_null(A_surfxml_bypassZoneRoute_gw___dst); sg_platf_new_bypassRoute(&ASroute); - delete ASroute.link_list; } void ETag_surfxml_trace(){ @@ -924,7 +907,7 @@ void ETag_surfxml_process() void ETag_surfxml_actor() { - s_sg_platf_process_cbarg_t actor{}; + s_sg_platf_process_cbarg_t actor; actor.properties = current_property_set; current_property_set = nullptr;