From: suter Date: Sat, 31 May 2014 17:47:06 +0000 (+0200) Subject: remove leaks introduced by previous commit. Ressource::getProperty X-Git-Tag: v3_12~1035 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/c6547b02d562d73dbb61fe74023a9b0f3b77accc?hp=e32a2a561ef184dc9ef8cdaf25759bba6b2ea198 remove leaks introduced by previous commit. Ressource::getProperty creates a heterogeneous dict if set_property_value is called on a non existing dict of properties. Sounds more logical to create a heterogeneous dict during parsing too. BTW using homogeneous dict everywhere makes chord example fails ... --- diff --git a/examples/msg/properties/msg_prop.c b/examples/msg/properties/msg_prop.c index e660024f73..e4bfca3db8 100644 --- a/examples/msg/properties/msg_prop.c +++ b/examples/msg/properties/msg_prop.c @@ -62,7 +62,7 @@ static void test_host(const char*hostname) XBT_INFO(" Property: %s old value: %s", exist, value); XBT_INFO("== Trying to modify a host property"); - MSG_host_set_property_value(thehost, exist, xbt_strdup("250"), NULL); + MSG_host_set_property_value(thehost, exist, xbt_strdup("250"), xbt_free); /* Test if we have changed the value */ value = MSG_host_get_property_value(thehost, exist); @@ -73,7 +73,7 @@ static void test_host(const char*hostname) XBT_INFO(" Property: %s old value: %s", exist, value); /* Restore the value for the next test */ - MSG_host_set_property_value(thehost, exist, xbt_strdup("180"), NULL); + MSG_host_set_property_value(thehost, exist, xbt_strdup("180"), xbt_free); } int alice(int argc, char *argv[]) { /* Dump what we have on the current host */ diff --git a/examples/simdag/properties/sd_prop.c b/examples/simdag/properties/sd_prop.c index 57367620af..1feae22c6d 100644 --- a/examples/simdag/properties/sd_prop.c +++ b/examples/simdag/properties/sd_prop.c @@ -54,7 +54,7 @@ int main(int argc, char **argv) /* Trying to set a new property */ - xbt_dict_set(props, "NewProp", strdup("newValue"), NULL); + xbt_dict_set(props, "NewProp", strdup("newValue"), xbt_free); /* Print the properties of the workstation 1 */ xbt_dict_foreach(props, cursor, key, data) { @@ -88,7 +88,7 @@ int main(int argc, char **argv) XBT_INFO("\tProperty: %s is undefined", exist); else { XBT_INFO("\tProperty: %s old value: %s", exist, value); - xbt_dict_set(props, exist, strdup("250"), NULL); + xbt_dict_set(props, exist, strdup("250"), xbt_free); } /* Test if we have changed the value */