From: Martin Quinson Date: Tue, 8 Nov 2011 21:10:28 +0000 (+0100) Subject: simplify this function X-Git-Tag: exp_20120216~409 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/ba613f6c63d5e8c9ac4776a7d0e4860bd68b278e?ds=sidebyside simplify this function --- diff --git a/src/surf/surf_routing.c b/src/surf/surf_routing.c index 3014f7fdbd..987196f8b9 100644 --- a/src/surf/surf_routing.c +++ b/src/surf/surf_routing.c @@ -215,34 +215,25 @@ static void parse_S_bypassRoute_new_and_endpoints(void) link_list = xbt_dynar_new(sizeof(char *), &xbt_free_ref); } -/** - * \brief Set a new link on the actual list of link for a route or ASroute - */ -static void parse_E_link_ctn_new_elem(const char *link_id) -{ - char *val; - val = xbt_strdup(link_id); - xbt_dynar_push(link_list, &val); -} - /** * \brief Set a new link on the actual list of link for a route or ASroute from XML */ -static void parse_E_link_ctn_new_elem_XML(void) +static void routing_parse_link_ctn(void) { - if (A_surfxml_link_ctn_direction == A_surfxml_link_ctn_direction_NONE) - parse_E_link_ctn_new_elem(A_surfxml_link_ctn_id); - if (A_surfxml_link_ctn_direction == A_surfxml_link_ctn_direction_UP) { - char *link_id = bprintf("%s_UP", A_surfxml_link_ctn_id); - parse_E_link_ctn_new_elem(link_id); - free(link_id); - } - if (A_surfxml_link_ctn_direction == A_surfxml_link_ctn_direction_DOWN) { - char *link_id = bprintf("%s_DOWN", A_surfxml_link_ctn_id); - parse_E_link_ctn_new_elem(link_id); - free(link_id); + char *link_id; + switch (A_surfxml_link_ctn_direction) { + case AU_surfxml_link_ctn_direction: + case A_surfxml_link_ctn_direction_NONE: + link_id = xbt_strdup(A_surfxml_link_ctn_id); + break; + case A_surfxml_link_ctn_direction_UP: + link_id = bprintf("%s_UP", A_surfxml_link_ctn_id); + break; + case A_surfxml_link_ctn_direction_DOWN: + link_id = bprintf("%s_DOWN", A_surfxml_link_ctn_id); } + xbt_dynar_push(link_list,&link_id); } /** @@ -856,8 +847,7 @@ void routing_model_create(size_t size_of_links, void *loopback, double_f_cpvoid_ surfxml_add_callback(STag_surfxml_bypassRoute_cb_list, &parse_S_bypassRoute_new_and_endpoints); - surfxml_add_callback(ETag_surfxml_link_ctn_cb_list, - &parse_E_link_ctn_new_elem_XML); + surfxml_add_callback(ETag_surfxml_link_ctn_cb_list, &routing_parse_link_ctn); surfxml_add_callback(ETag_surfxml_route_cb_list, &parse_E_route_store_route);