Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Don't duplicate strings uselessly, and avoid memory leaks.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Mon, 7 Nov 2011 22:21:33 +0000 (23:21 +0100)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Wed, 9 Nov 2011 10:38:59 +0000 (11:38 +0100)
src/surf/network.c
src/surf/workstation_ptask_L07.c

index fda3acd..634c897 100644 (file)
@@ -200,7 +200,9 @@ static void net_parse_link_init(sg_platf_link_cbarg_t link)
   XBT_DEBUG("link_CM02");
 
   if (link->policy == SURF_LINK_FULLDUPLEX) {
-    net_create_resource(bprintf("%s_UP", link->id),
+    char *link_id;
+    link_id = bprintf("%s_UP", link->id);
+    net_create_resource(link_id,
                         link->bandwidth,
                         link->bandwidth_trace,
                         link->latency,
@@ -209,7 +211,9 @@ static void net_parse_link_init(sg_platf_link_cbarg_t link)
                         link->state_trace,
                         link->policy,
                         link->properties);
-    net_create_resource(bprintf("%s_DOWN", link->id),
+    xbt_free(link_id);
+    link_id = bprintf("%s_DOWN", link->id);
+    net_create_resource(link_id,
                         link->bandwidth,
                         link->bandwidth_trace,
                         link->latency,
@@ -219,8 +223,9 @@ static void net_parse_link_init(sg_platf_link_cbarg_t link)
                         link->policy,
                         NULL); /* FIXME: We need to deep copy the properties or
                                 * we won't be able to free it */
+    xbt_free(link_id);
   } else {
-    net_create_resource(xbt_strdup(link->id),
+    net_create_resource(link->id,
                         link->bandwidth,
                         link->bandwidth_trace,
                         link->latency,
@@ -831,7 +836,7 @@ static void surf_network_model_init_internal(void)
     network_maxmin_system = lmm_system_new();
 
   routing_model_create(sizeof(link_CM02_t),
-                       net_create_resource(xbt_strdup("__loopback__"),
+                       net_create_resource("__loopback__",
                                            498000000, NULL,
                                            0.000015, NULL,
                                            SURF_RESOURCE_ON, NULL,
index 4425c74..0752e88 100644 (file)
@@ -715,7 +715,9 @@ static void* ptask_link_create_resource(const char *name,
 static void ptask_parse_link_init(sg_platf_link_cbarg_t link)
 {
   if (link->policy == SURF_LINK_FULLDUPLEX) {
-    ptask_link_create_resource(bprintf("%s_UP", link->id),
+    char *link_id;
+    link_id = bprintf("%s_UP", link->id);
+    ptask_link_create_resource(link_id,
                                link->bandwidth,
                                link->bandwidth_trace,
                                link->latency,
@@ -724,6 +726,8 @@ static void ptask_parse_link_init(sg_platf_link_cbarg_t link)
                                link->state_trace,
                                link->policy,
                                link->properties);
+    xbt_free(link_id);
+    link_id = bprintf("%s_DOWN", link->id);
     ptask_link_create_resource(bprintf("%s_DOWN", link->id),
                                link->bandwidth,
                                link->bandwidth_trace,
@@ -735,8 +739,9 @@ static void ptask_parse_link_init(sg_platf_link_cbarg_t link)
                                NULL); /* FIXME: We need to deep copy the
                                        * properties or we won't be able to free
                                        * it */
+    xbt_free(link_id);
   } else {
-    ptask_link_create_resource(xbt_strdup(link->id),
+    ptask_link_create_resource(link->id,
                                link->bandwidth,
                                link->bandwidth_trace,
                                link->latency,
@@ -887,7 +892,7 @@ static void ptask_model_init_internal(void)
     ptask_maxmin_system = lmm_system_new();
 
   routing_model_create(sizeof(link_L07_t),
-                       ptask_link_create_resource(xbt_strdup("__loopback__"),
+                       ptask_link_create_resource("__loopback__",
                                                   498000000, NULL,
                                                   0.000015, NULL,
                                                   SURF_RESOURCE_ON, NULL,