From 06bae8eb4bc956a5ee70ec1d3cdbc5e7e782536f Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Mon, 28 Nov 2011 15:43:51 +0100 Subject: [PATCH] Use homogeneous dictionaries whenever possible. The only remaining users of heterogeneous dicts are sets and multidicts. --- examples/gras/properties/properties.c | 5 ++--- examples/gras/replay/replay.c | 6 +++--- examples/msg/properties/msg_prop.c | 2 +- examples/simdag/properties/sd_prop.c | 4 ++-- src/amok/PeerManagement/peermanagement.c | 2 +- src/bindings/lua/lua_console.c | 2 +- src/bindings/lua/simgrid_lua.c | 4 ++-- src/gras/DataDesc/cbps.c | 2 +- src/gras/DataDesc/datadesc.c | 2 +- src/gras/DataDesc/ddt_exchange.c | 8 ++++---- src/gras/DataDesc/ddt_parse.c | 2 +- src/gras/Transport/transport.c | 4 ++-- src/gras/Virtu/rl_process.c | 7 +++---- src/gras/Virtu/sg_emul.c | 4 ++-- src/instr/instr_config.c | 2 +- src/instr/instr_interface.c | 2 +- src/instr/instr_paje.c | 14 +++++++------- src/instr/instr_resource_utilization.c | 5 ++--- src/instr/instr_routing.c | 12 ++++++------ src/instr/instr_smpi.c | 8 ++++---- src/instr/jedule/jedule_events.c | 2 +- src/instr/jedule/jedule_platform.c | 12 ++++++------ src/msg/msg_actions.c | 6 +++--- src/simdag/sd_daxloader.c | 6 +++--- src/simdag/sd_dotloader.c | 10 +++++----- src/simix/smx_global.c | 2 +- src/simix/smx_host.c | 4 ++-- src/simix/smx_network.c | 4 ++-- src/smpi/smpi_bench.c | 14 +++++++------- src/smpi/smpi_f77.c | 2 +- src/surf/network.c | 2 +- src/surf/ns3/ns3_simulator.cc | 4 ++-- src/surf/surf_routing.c | 20 ++++++++++---------- src/surf/surf_routing_cluster.c | 4 ++-- src/surf/surf_routing_dijkstra.c | 12 ++++++------ src/surf/surf_routing_generic.c | 11 +++++------ src/surf/surf_routing_none.c | 2 +- src/surf/surf_routing_rulebased.c | 7 +++---- src/surf/surfxml_parse.c | 10 +++++----- src/surf/surfxml_parseplatf.c | 22 +++++++++++----------- src/surf/trace_mgr.c | 5 ++--- src/surf/workstation_ptask_L07.c | 2 +- src/xbt/config.c | 4 ++-- src/xbt/graph.c | 4 ++-- src/xbt/xbt_strbuff.c | 4 ++-- tools/gras/stub_generator.c | 7 +++---- tools/tesh/run_context.c | 2 +- tools/tesh/tesh.c | 6 +++--- 48 files changed, 140 insertions(+), 147 deletions(-) diff --git a/examples/gras/properties/properties.c b/examples/gras/properties/properties.c index b0ae355e49..99214987f2 100644 --- a/examples/gras/properties/properties.c +++ b/examples/gras/properties/properties.c @@ -43,8 +43,7 @@ int alice(int argc, char *argv[]) XBT_INFO("== Trying to modify a process property"); value = gras_process_property_value("new prop"); xbt_assert(!value, "Property 'new prop' exists before I add it!"); - xbt_dict_set(process_props, "new prop", xbt_strdup("new value"), - xbt_free_f); + xbt_dict_set(process_props, "new prop", xbt_strdup("new value"), NULL); /* Test if we have changed the value */ value = gras_process_property_value("new prop"); @@ -78,7 +77,7 @@ int bob(int argc, char *argv[]) XBT_INFO ("== Set a host property that alice will try to retrieve in SG (from bob->hello)"); - xbt_dict_set(host_props, "from bob", xbt_strdup("hello"), xbt_free_f); + xbt_dict_set(host_props, "from bob", xbt_strdup("hello"), NULL); XBT_INFO("== Dump all the properties of host1 again to check the addition"); xbt_dict_foreach(host_props, cursor, key, data) diff --git a/examples/gras/replay/replay.c b/examples/gras/replay/replay.c index 3b19f419cc..fb1babee26 100644 --- a/examples/gras/replay/replay.c +++ b/examples/gras/replay/replay.c @@ -56,7 +56,7 @@ int master(int argc, char *argv[]) xbt_workload_elm_t cmd; xbt_dict_cursor_t dict_cursor; - xbt_dict_t pals_int = xbt_dict_new(); + xbt_dict_t pals_int = xbt_dict_new_homogeneous(NULL); xbt_dynar_foreach(cmds, cursor, cmd) { int *p = xbt_dict_get_or_null(pals_int, cmd->who); if (!p) { @@ -88,7 +88,7 @@ int master(int argc, char *argv[]) xbt_dict_free(&pals_int); /* Check who came */ - xbt_dict_t pals = xbt_dict_new(); + xbt_dict_t pals = xbt_dict_new_homogeneous(NULL); gras_socket_t pal; xbt_dynar_foreach(peers, cursor, peer) { //XBT_INFO("%s is here",peer->name); @@ -199,7 +199,7 @@ int worker(int argc, char *argv[]) int connected = 0; gras_cb_register("commands", worker_commands_cb); - globals->peers = xbt_dict_new(); + globals->peers = xbt_dict_new_homogeneous(NULL); if (gras_if_RL()) XBT_INFO("Sensor %s starting. Connecting to master on %s", diff --git a/examples/msg/properties/msg_prop.c b/examples/msg/properties/msg_prop.c index bfb563db43..5b36d02b2b 100644 --- a/examples/msg/properties/msg_prop.c +++ b/examples/msg/properties/msg_prop.c @@ -50,7 +50,7 @@ int alice(int argc, char *argv[]) XBT_INFO(" Property: %s old value: %s", exist, value); XBT_INFO("== Trying to modify a host property"); - xbt_dict_set(props, exist, xbt_strdup("250"), xbt_free_f); + xbt_dict_set(props, exist, xbt_strdup("250"), NULL); /* Test if we have changed the value */ value = MSG_host_get_property_value(host1, exist); diff --git a/examples/simdag/properties/sd_prop.c b/examples/simdag/properties/sd_prop.c index a23a66f2b9..3aa9f41ef5 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"), free); + xbt_dict_set(props, "NewProp", strdup("newValue"), NULL); /* 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"), free); + xbt_dict_set(props, exist, strdup("250"), NULL); } /* Test if we have changed the value */ diff --git a/src/amok/PeerManagement/peermanagement.c b/src/amok/PeerManagement/peermanagement.c index a842c92423..1f02fe01bc 100644 --- a/src/amok/PeerManagement/peermanagement.c +++ b/src/amok/PeerManagement/peermanagement.c @@ -261,7 +261,7 @@ static void _amok_pm_join(void *p) mod->groups = NULL; mod->done = 0; - mod->groups = xbt_dict_new(); + mod->groups = xbt_dict_new_homogeneous(NULL); /* callbacks */ gras_cb_register("amok_pm_kill", &amok_pm_cb_kill); diff --git a/src/bindings/lua/lua_console.c b/src/bindings/lua/lua_console.c index 82b7f6bc28..50f48e4eaa 100644 --- a/src/bindings/lua/lua_console.c +++ b/src/bindings/lua/lua_console.c @@ -363,7 +363,7 @@ int console_host_set_property(lua_State *L) { return -1; } xbt_dict_t props = MSG_host_get_properties(host); - xbt_dict_set(props,prop_id,xbt_strdup(prop_value),free); + xbt_dict_set(props,prop_id,xbt_strdup(prop_value),NULL); return 0; } diff --git a/src/bindings/lua/simgrid_lua.c b/src/bindings/lua/simgrid_lua.c index e3ae3be63c..e3dddcc9e5 100644 --- a/src/bindings/lua/simgrid_lua.c +++ b/src/bindings/lua/simgrid_lua.c @@ -880,9 +880,9 @@ static int gras_add_process_function(lua_State * L) if (xbt_dict_is_empty(machine_set) || xbt_dict_is_empty(process_function_set) || xbt_dynar_is_empty(process_list)) { - process_function_set = xbt_dict_new(); + process_function_set = xbt_dict_new_homogeneous(NULL); process_list = xbt_dynar_new(sizeof(s_process_t), s_process_free); - machine_set = xbt_dict_new(); + machine_set = xbt_dict_new_homogeneous(NULL); } xbt_dict_set(machine_set, process_host, NULL, NULL); diff --git a/src/gras/DataDesc/cbps.c b/src/gras/DataDesc/cbps.c index bb96f6df60..cfb2b2a536 100644 --- a/src/gras/DataDesc/cbps.c +++ b/src/gras/DataDesc/cbps.c @@ -32,7 +32,7 @@ gras_cbps_t gras_cbps_new(void) res = xbt_new(s_gras_cbps_t, 1); res->lints = xbt_dynar_new(sizeof(int), NULL); - res->space = xbt_dict_new(); + res->space = xbt_dict_new_homogeneous(NULL); /* no leak, the content is freed manually on block_end */ res->frames = xbt_dynar_new(sizeof(xbt_dynar_t), NULL); res->globals = xbt_dynar_new(sizeof(char *), NULL); diff --git a/src/gras/DataDesc/datadesc.c b/src/gras/DataDesc/datadesc.c index dcccee2b10..220607fae1 100644 --- a/src/gras/DataDesc/datadesc.c +++ b/src/gras/DataDesc/datadesc.c @@ -158,7 +158,7 @@ void gras_datadesc_init(void) ddt = gras_datadesc_ref("xbt_peer_t", ddt); /* Dict containing the constant value (for the parsing macro) */ - gras_dd_constants = xbt_dict_new(); + gras_dd_constants = xbt_dict_new_homogeneous(xbt_free_f); } diff --git a/src/gras/DataDesc/ddt_exchange.c b/src/gras/DataDesc/ddt_exchange.c index e00f6a93f1..91da76f88c 100644 --- a/src/gras/DataDesc/ddt_exchange.c +++ b/src/gras/DataDesc/ddt_exchange.c @@ -98,7 +98,7 @@ static XBT_INLINE void gras_dd_alloc_ref(xbt_dict_t refs, long int size, char ** *(void **) r_ref); if (detect_cycle) - xbt_dict_set_ext(refs, (const char *) r_ref, r_len, ptr, xbt_free_f); + xbt_dict_set_ext(refs, (const char *) r_ref, r_len, ptr, NULL); } } @@ -395,7 +395,7 @@ int gras_datadesc_memcpy(gras_datadesc_type_t type, void *src, void *dst) dst); if (!state) { state = gras_cbps_new(); - refs = xbt_dict_new(); + refs = xbt_dict_new_homogeneous(xbt_free_f); } TRY { @@ -638,7 +638,7 @@ void gras_datadesc_send(gras_socket_t sock, if (!state) { state = gras_cbps_new(); - refs = xbt_dict_new(); + refs = xbt_dict_new_homogeneous(NULL); } TRY { @@ -976,7 +976,7 @@ gras_datadesc_recv(gras_socket_t sock, if (!state) { state = gras_cbps_new(); - refs = xbt_dict_new(); + refs = xbt_dict_new_homogeneous(xbt_free_f); } xbt_assert(type, "called with NULL type descriptor"); diff --git a/src/gras/DataDesc/ddt_parse.c b/src/gras/DataDesc/ddt_parse.c index ab540b9ec1..77f5d661c5 100644 --- a/src/gras/DataDesc/ddt_parse.c +++ b/src/gras/DataDesc/ddt_parse.c @@ -811,5 +811,5 @@ void gras_datadesc_set_const(const char *name, int value) int *stored = xbt_new(int, 1); *stored = value; - xbt_dict_set(gras_dd_constants, name, stored, xbt_free_f); + xbt_dict_set(gras_dd_constants, name, stored, NULL); } diff --git a/src/gras/Transport/transport.c b/src/gras/Transport/transport.c index 8aabcc482c..b090bfdec4 100644 --- a/src/gras/Transport/transport.c +++ b/src/gras/Transport/transport.c @@ -52,14 +52,14 @@ static void gras_trp_plugin_new(const char *name, gras_trp_setup_t setup) } if (plug) - xbt_dict_set(_gras_trp_plugins, name, plug, gras_trp_plugin_free); + xbt_dict_set(_gras_trp_plugins, name, plug, NULL); } void gras_trp_init(void) { if (!_gras_trp_started) { /* make room for all plugins */ - _gras_trp_plugins = xbt_dict_new(); + _gras_trp_plugins = xbt_dict_new_homogeneous(gras_trp_plugin_free); #ifdef HAVE_WINSOCK2_H /* initialize the windows mechanism */ diff --git a/src/gras/Virtu/rl_process.c b/src/gras/Virtu/rl_process.c index f120573df9..cc364ceced 100644 --- a/src/gras/Virtu/rl_process.c +++ b/src/gras/Virtu/rl_process.c @@ -39,8 +39,8 @@ void gras_process_init() gras_procdata_init(); /* initialize the host & process properties */ - _host_properties = xbt_dict_new(); - _process_properties = xbt_dict_new(); + _host_properties = xbt_dict_new_homogeneous(xbt_free_f); + _process_properties = xbt_dict_new_homogeneous(xbt_free_f); env_iter = environ; while (*env_iter) { char *equal, *buf = xbt_strdup(*env_iter); @@ -52,8 +52,7 @@ void gras_process_init() continue; } *equal = '\0'; - xbt_dict_set(_process_properties, buf, xbt_strdup(equal + 1), - xbt_free_f); + xbt_dict_set(_process_properties, buf, xbt_strdup(equal + 1), NULL); free(buf); env_iter++; } diff --git a/src/gras/Virtu/sg_emul.c b/src/gras/Virtu/sg_emul.c index 7892f4ce33..7d55dee696 100644 --- a/src/gras/Virtu/sg_emul.c +++ b/src/gras/Virtu/sg_emul.c @@ -41,7 +41,7 @@ static unsigned int locbufsize; void gras_emul_init(void) { if (!benchmark_set) { - benchmark_set = xbt_dict_new(); + benchmark_set = xbt_dict_new_homogeneous(xbt_free_f); timer = xbt_os_timer_new(); } } @@ -61,7 +61,7 @@ static void store_in_dict(xbt_dict_t dict, const char *key, double value) ir = xbt_dict_get_or_null(dict, key); if (!ir) { ir = xbt_new0(double, 1); - xbt_dict_set(dict, key, ir, xbt_free_f); + xbt_dict_set(dict, key, ir, NULL); } *ir = value; } diff --git a/src/instr/instr_config.c b/src/instr/instr_config.c index 7c38522121..3103180bb8 100644 --- a/src/instr/instr_config.c +++ b/src/instr/instr_config.c @@ -81,7 +81,7 @@ int TRACE_start() XBT_DEBUG ("Tracing is on"); /* other trace initialization */ - created_categories = xbt_dict_new(); + created_categories = xbt_dict_new_homogeneous(xbt_free); TRACE_surf_alloc(); TRACE_smpi_alloc(); return 0; diff --git a/src/instr/instr_interface.c b/src/instr/instr_interface.c index 7a27800d57..df21be5b9a 100644 --- a/src/instr/instr_interface.c +++ b/src/instr/instr_interface.c @@ -38,7 +38,7 @@ void TRACE_category_with_color (const char *category, const char *color) //check if category is already created char *created = xbt_dict_get_or_null(created_categories, category); if (created) return; - xbt_dict_set (created_categories, category, xbt_strdup("1"), xbt_free); + xbt_dict_set (created_categories, category, xbt_strdup("1"), NULL); //define final_color char final_color[INSTR_DEFAULT_STR_SIZE]; diff --git a/src/instr/instr_paje.c b/src/instr/instr_paje.c index 3c1591c188..b523297717 100644 --- a/src/instr/instr_paje.c +++ b/src/instr/instr_paje.c @@ -18,9 +18,9 @@ xbt_dict_t trivaEdgeTypes = NULL; /* all host types defined */ void instr_paje_init (container_t root) { - allContainers = xbt_dict_new (); - trivaNodeTypes = xbt_dict_new (); - trivaEdgeTypes = xbt_dict_new (); + allContainers = xbt_dict_new_homogeneous(NULL); + trivaNodeTypes = xbt_dict_new_homogeneous(xbt_free); + trivaEdgeTypes = xbt_dict_new_homogeneous(xbt_free); rootContainer = root; } @@ -70,8 +70,8 @@ static type_t newType (const char *typename, const char *key, const char *color, ret->name = xbt_strdup (typename); ret->father = father; ret->kind = kind; - ret->children = xbt_dict_new (); - ret->values = xbt_dict_new (); + ret->children = xbt_dict_new_homogeneous(NULL); + ret->values = xbt_dict_new_homogeneous(NULL); ret->color = xbt_strdup (color); char str_id[INSTR_DEFAULT_STR_SIZE]; @@ -215,7 +215,7 @@ container_t newContainer (const char *name, e_container_types kind, container_t default: xbt_die ("Congratulations, you have found a bug on newContainer function of instr_routing.c"); break; } } - new->children = xbt_dict_new(); + new->children = xbt_dict_new_homogeneous(NULL); if (new->father){ xbt_dict_set(new->father->children, new->name, new, NULL); new_pajeCreateContainer (new); @@ -226,7 +226,7 @@ container_t newContainer (const char *name, e_container_types kind, container_t xbt_dict_set (allContainers, new->name, new, NULL); //register NODE types for triva configuration - xbt_dict_set (trivaNodeTypes, new->type->name, xbt_strdup("1"), xbt_free); + xbt_dict_set (trivaNodeTypes, new->type->name, xbt_strdup("1"), NULL); } return new; } diff --git a/src/instr/instr_resource_utilization.c b/src/instr/instr_resource_utilization.c index ba5c51b503..4c4b2e3b69 100644 --- a/src/instr/instr_resource_utilization.c +++ b/src/instr/instr_resource_utilization.c @@ -26,8 +26,7 @@ static void __TRACE_surf_check_variable_set_to_zero(double now, container_t container = getContainerByName (resource); type_t type = getVariableType (variable, NULL, container->type); new_pajeSetVariable (now, container, type, 0); - xbt_dict_set(platform_variables, resource, array, - xbt_dynar_free_voidp); + xbt_dict_set(platform_variables, resource, array, NULL); } else { xbt_dynar_t array = xbt_dict_get(platform_variables, resource); unsigned int i; @@ -153,7 +152,7 @@ void TRACE_surf_host_set_utilization(const char *resource, void TRACE_surf_resource_utilization_alloc() { - platform_variables = xbt_dict_new(); + platform_variables = xbt_dict_new_homogeneous(xbt_dynar_free_voidp); } void TRACE_surf_resource_utilization_release() diff --git a/src/instr/instr_routing.c b/src/instr/instr_routing.c index 784bf3dd13..2a1dc65ffc 100644 --- a/src/instr/instr_routing.c +++ b/src/instr/instr_routing.c @@ -63,8 +63,8 @@ static void linkContainers (container_t father, container_t src, container_t dst if (xbt_dict_get_or_null (filter, aux2)) return; //ok, not found, register it - xbt_dict_set (filter, aux1, xbt_strdup ("1"), xbt_free); - xbt_dict_set (filter, aux2, xbt_strdup ("1"), xbt_free); + xbt_dict_set (filter, aux1, xbt_strdup ("1"), NULL); + xbt_dict_set (filter, aux2, xbt_strdup ("1"), NULL); } //declare type @@ -73,7 +73,7 @@ static void linkContainers (container_t father, container_t src, container_t dst type_t link_type = getLinkType (link_typename, father->type, src->type, dst->type); //register EDGE types for triva configuration - xbt_dict_set (trivaEdgeTypes, link_type->name, xbt_strdup("1"), xbt_free); + xbt_dict_set (trivaEdgeTypes, link_type->name, xbt_strdup("1"), NULL); //create the link static long long counter = 0; @@ -285,7 +285,7 @@ static void instr_routing_parse_end_platform () { xbt_dynar_free(¤tContainer); currentContainer = NULL; - xbt_dict_t filter = xbt_dict_new (); + xbt_dict_t filter = xbt_dict_new_homogeneous(xbt_free); recursiveGraphExtraction (global_routing->root, getRootContainer(), filter); xbt_dict_free(&filter); platform_created = 1; @@ -468,8 +468,8 @@ static void recursiveXBTGraphExtraction (xbt_graph_t graph, xbt_dict_t nodes, xb xbt_graph_t instr_routing_platform_graph (void) { xbt_graph_t ret = xbt_graph_new_graph (0, NULL); - xbt_dict_t nodes = xbt_dict_new (); - xbt_dict_t edges = xbt_dict_new (); + xbt_dict_t nodes = xbt_dict_new_homogeneous(NULL); + xbt_dict_t edges = xbt_dict_new_homogeneous(NULL); recursiveXBTGraphExtraction (ret, nodes, edges, global_routing->root, getRootContainer()); return ret; } diff --git a/src/instr/instr_smpi.c b/src/instr/instr_smpi.c index 8cddd98a46..d4fab07c5b 100644 --- a/src/instr/instr_smpi.c +++ b/src/instr/instr_smpi.c @@ -82,7 +82,7 @@ static char *TRACE_smpi_put_key(int src, int dst, char *key, int n) xbt_dynar_t d = xbt_dict_get_or_null(keys, aux); if (d == NULL) { d = xbt_dynar_new(sizeof(char *), &xbt_free_ref); - xbt_dict_set(keys, aux, d, xbt_free); + xbt_dict_set(keys, aux, d, NULL); } //generate the key static unsigned long long counter = 0; @@ -123,7 +123,7 @@ void TRACE_internal_smpi_set_category (const char *category) if (xbt_dict_get_or_null (process_category, processid)) xbt_dict_remove (process_category, processid); if (category != NULL) - xbt_dict_set (process_category, processid, xbt_strdup(category), xbt_free); + xbt_dict_set (process_category, processid, xbt_strdup(category), NULL); } const char *TRACE_internal_smpi_get_category (void) @@ -137,8 +137,8 @@ const char *TRACE_internal_smpi_get_category (void) void TRACE_smpi_alloc() { - keys = xbt_dict_new(); - process_category = xbt_dict_new(); + keys = xbt_dict_new_homogeneous(xbt_free); + process_category = xbt_dict_new_homogeneous(xbt_free); } void TRACE_smpi_start(void) diff --git a/src/instr/jedule/jedule_events.c b/src/instr/jedule/jedule_events.c index bab0e0c7c6..8d235a0209 100644 --- a/src/instr/jedule/jedule_events.c +++ b/src/instr/jedule/jedule_events.c @@ -63,7 +63,7 @@ void create_jed_event(jed_event_t *event, char *name, double start_time, (*event)->resource_subsets = xbt_dynar_new(sizeof(jed_res_subset_t), NULL); (*event)->characteristics_list = xbt_dynar_new(sizeof(char*), NULL); - (*event)->info_hash = xbt_dict_new(); + (*event)->info_hash = xbt_dict_new_homogeneous(NULL); } diff --git a/src/instr/jedule/jedule_platform.c b/src/instr/jedule/jedule_platform.c index d6b488bb97..54fdb74257 100644 --- a/src/instr/jedule/jedule_platform.c +++ b/src/instr/jedule/jedule_platform.c @@ -91,7 +91,7 @@ void jed_simgrid_add_resources(jed_simgrid_container_t parent, parent->is_lowest = 1; xbt_dynar_free(&parent->container_children); parent->container_children = NULL; - parent->name2id = xbt_dict_new(); + parent->name2id = xbt_dict_new_homogeneous(xbt_free); parent->last_id = 0; parent->resource_list = xbt_dynar_new(sizeof(char *), NULL); @@ -100,7 +100,7 @@ void jed_simgrid_add_resources(jed_simgrid_container_t parent, xbt_dynar_foreach(host_names, iter, host_name) { buf = bprintf("%d", parent->last_id); (parent->last_id)++; - xbt_dict_set(parent->name2id, host_name, buf, xbt_free); + xbt_dict_set(parent->name2id, host_name, buf, NULL); xbt_dict_set(host2_simgrid_parent_container, host_name, parent, NULL); xbt_dynar_push(parent->resource_list, &host_name); } @@ -204,7 +204,7 @@ void jed_simgrid_get_resource_selection_by_hosts(xbt_dynar_t subset_list, unsigned int iter; xbt_dict_t parent2hostgroup; // group hosts by parent - parent2hostgroup = xbt_dict_new(); + parent2hostgroup = xbt_dict_new_homogeneous(NULL); xbt_assert( host_names != NULL ); @@ -262,9 +262,9 @@ void jedule_add_meta_info(jedule_t jedule, char *key, char *value) { void jed_create_jedule(jedule_t *jedule) { *jedule = (jedule_t)calloc(1,sizeof(s_jedule_t)); - host2_simgrid_parent_container = xbt_dict_new(); - container_name2container = xbt_dict_new(); - (*jedule)->jedule_meta_info = xbt_dict_new(); + host2_simgrid_parent_container = xbt_dict_new_homogeneous(NULL); + container_name2container = xbt_dict_new_homogeneous(NULL); + (*jedule)->jedule_meta_info = xbt_dict_new_homogeneous(NULL); } void jed_free_jedule(jedule_t jedule) { diff --git a/src/msg/msg_actions.c b/src/msg/msg_actions.c index 580915586c..ea4bdba612 100644 --- a/src/msg/msg_actions.c +++ b/src/msg/msg_actions.c @@ -84,8 +84,8 @@ static int MSG_action_runner(int argc, char *argv[]) void _MSG_action_init() { - action_funs = xbt_dict_new(); - action_queues = xbt_dict_new(); + action_funs = xbt_dict_new_homogeneous(NULL); + action_queues = xbt_dict_new_homogeneous(NULL); MSG_function_register_default(MSG_action_runner); } @@ -190,7 +190,7 @@ MSG_error_t MSG_action_trace_run(char *path) if (path) fclose(action_fp); xbt_dict_free(&action_queues); - action_queues = xbt_dict_new(); + action_queues = xbt_dict_new_homogeneous(NULL); return res; } diff --git a/src/simdag/sd_daxloader.c b/src/simdag/sd_daxloader.c index a47704d031..684f656f0c 100644 --- a/src/simdag/sd_daxloader.c +++ b/src/simdag/sd_daxloader.c @@ -286,8 +286,8 @@ xbt_dynar_t SD_daxload(const char *filename) dax_lineno = 1; result = xbt_dynar_new(sizeof(SD_task_t), dax_task_free); - files = xbt_dict_new(); - jobs = xbt_dict_new(); + files = xbt_dict_new_homogeneous(&dax_task_free); + jobs = xbt_dict_new_homogeneous(NULL); root_task = SD_task_create_comp_seq("root", NULL, 0); /* by design the root task is always SCHEDULABLE */ __SD_task_set_state(root_task, SD_SCHEDULABLE); @@ -430,7 +430,7 @@ void STag_dax__uses(void) file = xbt_dict_get_or_null(files, A_dax__uses_file); if (file == NULL) { file = SD_task_create_comm_e2e(A_dax__uses_file, NULL, size); - xbt_dict_set(files, A_dax__uses_file, file, &dax_task_free); + xbt_dict_set(files, A_dax__uses_file, file, NULL); } else { if (SD_task_get_amount(file) != size) { XBT_WARN("Ignoring file %s size redefinition from %.0f to %.0f", diff --git a/src/simdag/sd_dotloader.c b/src/simdag/sd_dotloader.c index 006a682cac..8ee8eacf87 100644 --- a/src/simdag/sd_dotloader.c +++ b/src/simdag/sd_dotloader.c @@ -159,9 +159,9 @@ xbt_dynar_t SD_dotload_generic(const char * filename) dag_dot = agread(in_file, NIL(Agdisc_t *)); result = xbt_dynar_new(sizeof(SD_task_t), dot_task_free); - files = xbt_dict_new(); - jobs = xbt_dict_new(); - computers = xbt_dict_new(); + files = xbt_dict_new_homogeneous(&dot_task_free); + jobs = xbt_dict_new_homogeneous(NULL); + computers = xbt_dict_new_homogeneous(NULL); root_task = SD_task_create_comp_seq("root", NULL, 0); /* by design the root task is always SCHEDULABLE */ __SD_task_set_state(root_task, SD_SCHEDULABLE); @@ -368,7 +368,7 @@ void dot_add_input_dependencies(SD_task_t current_job, Agedge_t * edge) #ifdef HAVE_TRACING TRACE_sd_dotloader (file, agget (edge, (char*)"category")); #endif - xbt_dict_set(files, name, file, &dot_task_free); + xbt_dict_set(files, name, file, NULL); } else { if (SD_task_get_amount(file) != size) { XBT_WARN("Ignoring file %s size redefinition from %.0f to %.0f", @@ -406,7 +406,7 @@ void dot_add_output_dependencies(SD_task_t current_job, Agedge_t * edge) #ifdef HAVE_TRACING TRACE_sd_dotloader (file, agget (edge, (char*)"category")); #endif - xbt_dict_set(files, name, file, &dot_task_free); + xbt_dict_set(files, name, file, NULL); } else { if (SD_task_get_amount(file) != size) { XBT_WARN("Ignoring file %s size redefinition from %.0f to %.0f", diff --git a/src/simix/smx_global.c b/src/simix/smx_global.c index 45733ca37d..c575ee45ab 100644 --- a/src/simix/smx_global.c +++ b/src/simix/smx_global.c @@ -86,7 +86,7 @@ void SIMIX_global_init(int *argc, char **argv) xbt_swag_new(xbt_swag_offset(proc, destroy_hookup)); simix_global->maestro_process = NULL; - simix_global->registered_functions = xbt_dict_new(); + simix_global->registered_functions = xbt_dict_new_homogeneous(NULL); simix_global->create_process_function = SIMIX_process_create; simix_global->kill_process_function = SIMIX_process_kill; diff --git a/src/simix/smx_host.c b/src/simix/smx_host.c index 451ddcc5b3..db4429b655 100644 --- a/src/simix/smx_host.c +++ b/src/simix/smx_host.c @@ -84,14 +84,14 @@ void SIMIX_host_destroy(void *h) */ xbt_dict_t SIMIX_host_get_dict(void) { - xbt_dict_t host_dict = xbt_dict_new(); + xbt_dict_t host_dict = xbt_dict_new_homogeneous(NULL); xbt_lib_cursor_t cursor = NULL; char *name = NULL; void **host = NULL; xbt_lib_foreach(host_lib, cursor, name, host){ if(host[SIMIX_HOST_LEVEL]) - xbt_dict_set(host_dict,name,host[SIMIX_HOST_LEVEL],NULL); + xbt_dict_set(host_dict,name,host[SIMIX_HOST_LEVEL], NULL); } return host_dict; } diff --git a/src/simix/smx_network.c b/src/simix/smx_network.c index 6eff1fa5cd..9f9885701b 100644 --- a/src/simix/smx_network.c +++ b/src/simix/smx_network.c @@ -26,7 +26,7 @@ static void SIMIX_rdv_free(void *data); void SIMIX_network_init(void) { - rdv_points = xbt_dict_new(); + rdv_points = xbt_dict_new_homogeneous(SIMIX_rdv_free); } void SIMIX_network_exit(void) @@ -49,7 +49,7 @@ smx_rdv_t SIMIX_rdv_create(const char *name) rdv->comm_fifo = xbt_fifo_new(); if (rdv->name) - xbt_dict_set(rdv_points, rdv->name, rdv, SIMIX_rdv_free); + xbt_dict_set(rdv_points, rdv->name, rdv, NULL); } return rdv; } diff --git a/src/smpi/smpi_bench.c b/src/smpi/smpi_bench.c index 80c1896159..9998aff42c 100644 --- a/src/smpi/smpi_bench.c +++ b/src/smpi/smpi_bench.c @@ -111,7 +111,7 @@ int smpi_sample_1(int global, const char *file, int line, int iters, double thre smpi_bench_end(); /* Take time from previous MPI call into account */ if (!samples) { - samples = xbt_dict_new(); + samples = xbt_dict_new_homogeneous(free); } data = xbt_dict_get_or_null(samples, loc); if (!data) { @@ -122,7 +122,7 @@ int smpi_sample_1(int global, const char *file, int line, int iters, double thre data->iters = iters; data->threshold = threshold; data->started = 0; - xbt_dict_set(samples, loc, data, &free); + xbt_dict_set(samples, loc, data, NULL); return 0; } free(loc); @@ -190,13 +190,13 @@ void *smpi_shared_malloc(size_t size, const char *file, int line) shared_data_t *data; if (!allocs) { - allocs = xbt_dict_new(); + allocs = xbt_dict_new_homogeneous(free); } data = xbt_dict_get_or_null(allocs, loc); if (!data) { data = (shared_data_t *) xbt_malloc0(sizeof(int) + size); data->count = 1; - xbt_dict_set(allocs, loc, data, &free); + xbt_dict_set(allocs, loc, data, NULL); } else { data->count++; } @@ -230,7 +230,7 @@ int smpi_shared_known_call(const char* func, const char* input) { int known; if(!calls) { - calls = xbt_dict_new(); + calls = xbt_dict_new_homogeneous(NULL); } TRY { xbt_dict_get(calls, loc); /* Succeed or throw */ @@ -253,7 +253,7 @@ void* smpi_shared_get_call(const char* func, const char* input) { void* data; if(!calls) { - calls = xbt_dict_new(); + calls = xbt_dict_new_homogeneous(NULL); } data = xbt_dict_get(calls, loc); free(loc); @@ -264,7 +264,7 @@ void* smpi_shared_set_call(const char* func, const char* input, void* data) { char* loc = bprintf("%s:%s", func, input); if(!calls) { - calls = xbt_dict_new(); + calls = xbt_dict_new_homogeneous(NULL); } xbt_dict_set(calls, loc, data, NULL); free(loc); diff --git a/src/smpi/smpi_f77.c b/src/smpi/smpi_f77.c index 2f84829faf..e6d9d10c2e 100644 --- a/src/smpi/smpi_f77.c +++ b/src/smpi/smpi_f77.c @@ -79,7 +79,7 @@ void mpi_init__(int* ierr) { comm_lookup = xbt_dynar_new(sizeof(MPI_Comm), NULL); new_comm(MPI_COMM_WORLD); - request_lookup = xbt_dict_new(); + request_lookup = xbt_dict_new_homogeneous(NULL); datatype_lookup = xbt_dynar_new(sizeof(MPI_Datatype), NULL); new_datatype(MPI_BYTE); diff --git a/src/surf/network.c b/src/surf/network.c index 9abdaf3ab9..0a2aff0e8a 100644 --- a/src/surf/network.c +++ b/src/surf/network.c @@ -40,7 +40,7 @@ static void gap_append(double size, const link_CM02_t link, surf_action_network_ if(sg_sender_gap > 0.0) { if(!gap_lookup) { - gap_lookup = xbt_dict_new(); + gap_lookup = xbt_dict_new_homogeneous(NULL); } fifo = (xbt_fifo_t)xbt_dict_get_or_null(gap_lookup, src); action->sender.gap = 0.0; diff --git a/src/surf/ns3/ns3_simulator.cc b/src/surf/ns3/ns3_simulator.cc index 8b8a00cc40..5e2c1084ba 100644 --- a/src/surf/ns3/ns3_simulator.cc +++ b/src/surf/ns3/ns3_simulator.cc @@ -61,7 +61,7 @@ void NS3Sim::create_flow_NS3( uint32_t totalBytes, void * action) { - if(!dict_socket) dict_socket = xbt_dict_new(); + if(!dict_socket) dict_socket = xbt_dict_new_homogeneous(free); PacketSinkHelper sink ("ns3::TcpSocketFactory", InetSocketAddress (Ipv4Address::GetAny(), @@ -80,7 +80,7 @@ void NS3Sim::create_flow_NS3( mysocket->action = action; transformSocketPtr(sock); - xbt_dict_set(dict_socket,socket_key, mysocket,free); + xbt_dict_set(dict_socket,socket_key, mysocket,NULL); sock->Bind(InetSocketAddress(port_number)); XBT_DEBUG("Create flow starting to %fs + %fs = %fs",start-ns3_time(), ns3_time(), start); diff --git a/src/surf/surf_routing.c b/src/surf/surf_routing.c index 38e071a983..1d11084198 100644 --- a/src/surf/surf_routing.c +++ b/src/surf/surf_routing.c @@ -728,10 +728,10 @@ static void routing_parse_cluster(sg_platf_cluster_cbarg_t cluster) if (strcmp(cluster->availability_trace, "") || strcmp(cluster->state_trace, "")) { - patterns = xbt_dict_new(); - xbt_dict_set(patterns, "id", xbt_strdup(cluster->id), free); - xbt_dict_set(patterns, "prefix", xbt_strdup(cluster->prefix), free); - xbt_dict_set(patterns, "suffix", xbt_strdup(cluster->suffix), free); + patterns = xbt_dict_new_homogeneous(xbt_free_f); + xbt_dict_set(patterns, "id", xbt_strdup(cluster->id), NULL); + xbt_dict_set(patterns, "prefix", xbt_strdup(cluster->prefix), NULL); + xbt_dict_set(patterns, "suffix", xbt_strdup(cluster->suffix), NULL); } @@ -766,7 +766,7 @@ static void routing_parse_cluster(sg_platf_cluster_cbarg_t cluster) memset(&host, 0, sizeof(host)); host.id = host_id; if (strcmp(cluster->availability_trace, "")) { - xbt_dict_set(patterns, "radical", bprintf("%d", i), xbt_free); + xbt_dict_set(patterns, "radical", bprintf("%d", i), NULL); char *avail_file = xbt_str_varsubst(cluster->availability_trace, patterns); XBT_DEBUG("\tavailability_file=\"%s\"", avail_file); host.power_trace = tmgr_trace_new(avail_file); @@ -1039,12 +1039,12 @@ static void routing_parse_Srandom(void) random->generator, random->seed, random_radical); if (!random_value) - random_value = xbt_dict_new(); + random_value = xbt_dict_new_homogeneous(free); if (!strcmp(random_radical, "")) { res = random_generate(random); rd_value = bprintf("%f", res); - xbt_dict_set(random_value, random_id, rd_value, free); + xbt_dict_set(random_value, random_id, rd_value, NULL); } else { radical_elements = xbt_str_split(random_radical, ","); xbt_dynar_foreach(radical_elements, iter, groups) { @@ -1057,7 +1057,7 @@ static void routing_parse_Srandom(void) tmpbuf = bprintf("%s%d", random_id, atoi(xbt_dynar_getfirst_as(radical_ends, char *))); - xbt_dict_set(random_value, tmpbuf, bprintf("%f", res), free); + xbt_dict_set(random_value, tmpbuf, bprintf("%f", res), NULL); xbt_free(tmpbuf); break; @@ -1071,7 +1071,7 @@ static void routing_parse_Srandom(void) i)); res = random_generate(random); tmpbuf = bprintf("%s%d", random_id, i); - xbt_dict_set(random_value, tmpbuf, bprintf("%f", res), free); + xbt_dict_set(random_value, tmpbuf, bprintf("%f", res), NULL); xbt_free(tmpbuf); } break; @@ -1082,7 +1082,7 @@ static void routing_parse_Srandom(void) res = random_generate(random); rd_name = bprintf("%s_router", random_id); rd_value = bprintf("%f", res); - xbt_dict_set(random_value, rd_name, rd_value, free); + xbt_dict_set(random_value, rd_name, rd_value, NULL); xbt_dynar_free(&radical_ends); } diff --git a/src/surf/surf_routing_cluster.c b/src/surf/surf_routing_cluster.c index bc11f8fe2f..9c8e028779 100644 --- a/src/surf/surf_routing_cluster.c +++ b/src/surf/surf_routing_cluster.c @@ -66,9 +66,9 @@ AS_t model_cluster_create(void) void surf_routing_cluster_add_link(const char* host_id,surf_parsing_link_up_down_t info) { if(!cluster_host_link) - cluster_host_link = xbt_dict_new(); + cluster_host_link = xbt_dict_new_homogeneous(xbt_free); - xbt_dict_set(cluster_host_link,host_id,info,xbt_free); + xbt_dict_set(cluster_host_link,host_id,info,NULL); } void surf_routing_cluster_add_backbone(AS_t as, void* bb) { diff --git a/src/surf/surf_routing_dijkstra.c b/src/surf/surf_routing_dijkstra.c index 778f37d629..3450eea057 100644 --- a/src/surf/surf_routing_dijkstra.c +++ b/src/surf/surf_routing_dijkstra.c @@ -79,7 +79,7 @@ static xbt_node_t route_graph_new_node(as_dijkstra_t as, elm = xbt_new0(struct graph_node_map_element, 1); elm->node = node; xbt_dict_set_ext(as->graph_node_map, (char *) (&id), sizeof(int), - (xbt_set_elm_t) elm, &graph_node_map_elem_free); + (xbt_set_elm_t) elm, NULL); return node; } @@ -387,7 +387,7 @@ static void dijkstra_get_route_and_latency(AS_t asg, elm->pred_arr = pred_arr; elm->size = size; xbt_dict_set_ext(as->route_cache, (char *) (&src_id), sizeof(int), - (xbt_set_elm_t) elm, &route_cache_elem_free); + (xbt_set_elm_t) elm, NULL); } if (!as->cached) @@ -447,10 +447,10 @@ void model_dijkstra_both_end(AS_t as) if(!THIS->route_graph) THIS->route_graph = xbt_graph_new_graph(1, NULL); if(!THIS->graph_node_map) - THIS->graph_node_map = xbt_dict_new(); + THIS->graph_node_map = xbt_dict_new_homogeneous(&graph_node_map_elem_free); if (THIS->cached && !THIS->route_cache) - THIS->route_cache = xbt_dict_new(); + THIS->route_cache = xbt_dict_new_homogeneous(&route_cache_elem_free); /* Add the loopback if needed */ if (as->hierarchy == SURF_ROUTING_BASE) @@ -480,10 +480,10 @@ void model_dijkstra_both_parse_route (AS_t asg, const char *src, if(!as->route_graph) as->route_graph = xbt_graph_new_graph(1, NULL); if(!as->graph_node_map) - as->graph_node_map = xbt_dict_new(); + as->graph_node_map = xbt_dict_new_homogeneous(&graph_node_map_elem_free); if (as->cached && !as->route_cache) - as->route_cache = xbt_dict_new(); + as->route_cache = xbt_dict_new_homogeneous(&route_cache_elem_free); if( A_surfxml_route_symmetrical == A_surfxml_route_symmetrical_YES || A_surfxml_ASroute_symmetrical == A_surfxml_ASroute_symmetrical_YES ) diff --git a/src/surf/surf_routing_generic.c b/src/surf/surf_routing_generic.c index b3fbf54521..414bdd7380 100644 --- a/src/surf/surf_routing_generic.c +++ b/src/surf/surf_routing_generic.c @@ -28,8 +28,8 @@ AS_t model_generic_create_sized(size_t childsize) { generic_get_bypassroute; new_component->finalize = model_generic_finalize; - new_component->to_index = xbt_dict_new(); - new_component->bypassRoutes = xbt_dict_new(); + new_component->to_index = xbt_dict_new_homogeneous(xbt_free); + new_component->bypassRoutes = xbt_dict_new_homogeneous((void (*)(void *)) generic_free_route); return new_component; } @@ -46,7 +46,7 @@ void generic_parse_PU(AS_t as, const char *name) xbt_dict_t _to_index; _to_index = as->to_index; *id = xbt_dict_length(_to_index); - xbt_dict_set(_to_index, name, id, xbt_free); + xbt_dict_set(_to_index, name, id, NULL); } void generic_parse_AS(AS_t as, const char *name) @@ -56,7 +56,7 @@ void generic_parse_AS(AS_t as, const char *name) xbt_dict_t _to_index; _to_index = as->to_index; *id = xbt_dict_length(_to_index); - xbt_dict_set(_to_index, name, id, xbt_free); + xbt_dict_set(_to_index, name, id, NULL); } void generic_parse_bypassroute(AS_t rc, @@ -80,8 +80,7 @@ void generic_parse_bypassroute(AS_t rc, xbt_dynar_free(&(e_route->link_list)); xbt_free(e_route); - xbt_dict_set(dict_bypassRoutes, route_name, new_e_route, - (void (*)(void *)) generic_free_route); + xbt_dict_set(dict_bypassRoutes, route_name, new_e_route, NULL); xbt_free(route_name); } diff --git a/src/surf/surf_routing_none.c b/src/surf/surf_routing_none.c index 85776de552..f605009fcb 100644 --- a/src/surf/surf_routing_none.c +++ b/src/surf/surf_routing_none.c @@ -47,7 +47,7 @@ AS_t model_none_create_sized(size_t childsize) { new_component->get_bypass_route = none_get_bypass_route; new_component->finalize = model_none_finalize; - new_component->routing_sons = xbt_dict_new(); + new_component->routing_sons = xbt_dict_new_homogeneous(NULL); return new_component; } diff --git a/src/surf/surf_routing_rulebased.c b/src/surf/surf_routing_rulebased.c index b9fb8c4c6e..bdefb70c96 100644 --- a/src/surf/surf_routing_rulebased.c +++ b/src/surf/surf_routing_rulebased.c @@ -74,8 +74,7 @@ static void model_rulebased_parse_PU(AS_t rc, const char *name) static void model_rulebased_parse_AS(AS_t rc, const char *name) { AS_rulebased_t routing = (AS_rulebased_t) rc; - xbt_dict_set(routing->dict_autonomous_systems, name, (void *) (-1), - NULL); + xbt_dict_set(routing->dict_autonomous_systems, name, (void *) (-1), NULL); } static void model_rulebased_parse_route(AS_t rc, @@ -397,8 +396,8 @@ AS_t model_rulebased_create(void) { new_component->generic_routing.get_bypass_route = rulebased_get_bypass_route; new_component->generic_routing.finalize = rulebased_finalize; /* initialization of internal structures */ - new_component->dict_processing_units = xbt_dict_new(); - new_component->dict_autonomous_systems = xbt_dict_new(); + new_component->dict_processing_units = xbt_dict_new_homogeneous(NULL); + new_component->dict_autonomous_systems = xbt_dict_new_homogeneous(NULL); new_component->list_route = xbt_dynar_new(sizeof(rule_route_t), &rule_route_free); new_component->list_ASroute = xbt_dynar_new(sizeof(rule_route_extended_t), diff --git a/src/surf/surfxml_parse.c b/src/surf/surfxml_parse.c index aec18201b2..c1bcc922de 100644 --- a/src/surf/surfxml_parse.c +++ b/src/surf/surfxml_parse.c @@ -257,7 +257,7 @@ void STag_surfxml_host(void){ memset(&host,0,sizeof(host)); xbt_assert(current_property_set == NULL, "Someone forgot to reset the property set to NULL in its closing tag (or XML malformed)"); - host.properties = current_property_set = xbt_dict_new(); + host.properties = current_property_set = xbt_dict_new_homogeneous(xbt_free_f); host.id = A_surfxml_host_id; host.power_peak = get_cpu_power(A_surfxml_host_power); @@ -367,7 +367,7 @@ void STag_surfxml_link(void){ memset(&link,0,sizeof(link)); xbt_assert(current_property_set == NULL, "Someone forgot to reset the property set to NULL in its closing tag (or XML malformed)"); - link.properties = current_property_set = xbt_dict_new(); + link.properties = current_property_set = xbt_dict_new_homogeneous(xbt_free_f); link.id = A_surfxml_link_id; link.bandwidth = surf_parse_get_double(A_surfxml_link_bandwidth); @@ -443,7 +443,7 @@ void STag_surfxml_bypassRoute(void){ void STag_surfxml_config(void){ XBT_DEBUG("START configuration name = %s",A_surfxml_config_id); xbt_assert(current_property_set == NULL, "Someone forgot to reset the property set to NULL in its closing tag (or XML malformed)"); - current_property_set = xbt_dict_new(); + current_property_set = xbt_dict_new_homogeneous(xbt_free_f); } void ETag_surfxml_config(void){ @@ -572,9 +572,9 @@ static XBT_INLINE void surfxml_call_cb_functions(xbt_dynar_t cb_list) void parse_properties(void) { if (!current_property_set) - current_property_set = xbt_dict_new(); // Maybe, it should raise an error + current_property_set = xbt_dict_new_homogeneous(xbt_free_f); // Maybe, it should raise an error - xbt_dict_set(current_property_set, A_surfxml_prop_id, xbt_strdup(A_surfxml_prop_value), free); + xbt_dict_set(current_property_set, A_surfxml_prop_id, xbt_strdup(A_surfxml_prop_value), NULL); } diff --git a/src/surf/surfxml_parseplatf.c b/src/surf/surfxml_parseplatf.c index c8216efce5..57a766a4c2 100644 --- a/src/surf/surfxml_parseplatf.c +++ b/src/surf/surfxml_parseplatf.c @@ -102,25 +102,25 @@ static void parse_Stag_trace_connect(void) case A_surfxml_trace_connect_kind_HOST_AVAIL: xbt_dict_set(trace_connect_list_host_avail, A_surfxml_trace_connect_trace, - xbt_strdup(A_surfxml_trace_connect_element), free); + xbt_strdup(A_surfxml_trace_connect_element), NULL); break; case A_surfxml_trace_connect_kind_POWER: xbt_dict_set(trace_connect_list_power, A_surfxml_trace_connect_trace, - xbt_strdup(A_surfxml_trace_connect_element), free); + xbt_strdup(A_surfxml_trace_connect_element), NULL); break; case A_surfxml_trace_connect_kind_LINK_AVAIL: xbt_dict_set(trace_connect_list_link_avail, A_surfxml_trace_connect_trace, - xbt_strdup(A_surfxml_trace_connect_element), free); + xbt_strdup(A_surfxml_trace_connect_element), NULL); break; case A_surfxml_trace_connect_kind_BANDWIDTH: xbt_dict_set(trace_connect_list_bandwidth, A_surfxml_trace_connect_trace, - xbt_strdup(A_surfxml_trace_connect_element), free); + xbt_strdup(A_surfxml_trace_connect_element), NULL); break; case A_surfxml_trace_connect_kind_LATENCY: xbt_dict_set(trace_connect_list_latency, A_surfxml_trace_connect_trace, - xbt_strdup(A_surfxml_trace_connect_element), free); + xbt_strdup(A_surfxml_trace_connect_element), NULL); break; default: xbt_die("Cannot connect trace %s to %s: kind of trace unknown", @@ -150,12 +150,12 @@ void parse_platform_file(const char *file) if (!surfxml_bufferstack_stack) surfxml_bufferstack_stack = xbt_dynar_new(sizeof(char *), NULL); - traces_set_list = xbt_dict_new(); - trace_connect_list_host_avail = xbt_dict_new(); - trace_connect_list_power = xbt_dict_new(); - trace_connect_list_link_avail = xbt_dict_new(); - trace_connect_list_bandwidth = xbt_dict_new(); - trace_connect_list_latency = xbt_dict_new(); + traces_set_list = xbt_dict_new_homogeneous(NULL); + trace_connect_list_host_avail = xbt_dict_new_homogeneous(free); + trace_connect_list_power = xbt_dict_new_homogeneous(free); + trace_connect_list_link_avail = xbt_dict_new_homogeneous(free); + trace_connect_list_bandwidth = xbt_dict_new_homogeneous(free); + trace_connect_list_latency = xbt_dict_new_homogeneous(free); surfxml_add_callback(STag_surfxml_trace_cb_list, &parse_Stag_trace); surfxml_add_callback(ETag_surfxml_trace_cb_list, &parse_Etag_trace); diff --git a/src/surf/trace_mgr.c b/src/surf/trace_mgr.c index ea18e1a9c4..c49bd7ca67 100644 --- a/src/surf/trace_mgr.c +++ b/src/surf/trace_mgr.c @@ -88,10 +88,9 @@ tmgr_trace_t tmgr_trace_new_from_string(const char *id, const char *input, last_event->delta = periodicity; if (!trace_list) - trace_list = xbt_dict_new(); + trace_list = xbt_dict_new_homogeneous((void (*)(void *)) tmgr_trace_free); - xbt_dict_set(trace_list, id, (void *) trace, - (void (*)(void *)) tmgr_trace_free); + xbt_dict_set(trace_list, id, (void *) trace, NULL); xbt_dynar_free(&list); return trace; diff --git a/src/surf/workstation_ptask_L07.c b/src/surf/workstation_ptask_L07.c index b8ecc23cd8..217e63b4f2 100644 --- a/src/surf/workstation_ptask_L07.c +++ b/src/surf/workstation_ptask_L07.c @@ -454,7 +454,7 @@ static surf_action_t ptask_execute_parallel_task(int workstation_nb, double latency = 0.0; if (ptask_parallel_task_link_set == NULL) - ptask_parallel_task_link_set = xbt_dict_new(); + ptask_parallel_task_link_set = xbt_dict_new_homogeneous(NULL); xbt_dict_reset(ptask_parallel_task_link_set); diff --git a/src/xbt/config.c b/src/xbt/config.c index c149aaa27c..39b4262834 100644 --- a/src/xbt/config.c +++ b/src/xbt/config.c @@ -64,7 +64,7 @@ static xbt_cfgelm_t xbt_cfgelm_get(xbt_cfg_t cfg, const char *name, xbt_cfg_t xbt_cfg_new(void) { - return (xbt_cfg_t) xbt_dict_new(); + return (xbt_cfg_t) xbt_dict_new_homogeneous(&xbt_cfgelm_free); } /** \brief Copy an existing configuration set @@ -263,7 +263,7 @@ xbt_cfg_register(xbt_cfg_t * cfg, XBT_ERROR("%d is an invalide type code", type); } - xbt_dict_set((xbt_dict_t) * cfg, name, res, &xbt_cfgelm_free); + xbt_dict_set((xbt_dict_t) * cfg, name, res, NULL); } /** @brief Unregister an element from a config set. diff --git a/src/xbt/graph.c b/src/xbt/graph.c index a56d008f66..e56e413938 100644 --- a/src/xbt/graph.c +++ b/src/xbt/graph.c @@ -561,7 +561,7 @@ static void __parse_graph_begin(void) else parsed_graph = xbt_graph_new_graph(0, NULL); - parsed_nodes = xbt_dict_new(); + parsed_nodes = xbt_dict_new_homogeneous(NULL); } static void __parse_graph_end(void) @@ -735,7 +735,7 @@ xbt_graph_t xbt_graph_load (const char *filename) file = fopen (filename, "r"); xbt_assert(file, "Failed to open %s \n", filename); - xbt_dict_t nodes_dict = xbt_dict_new (); + xbt_dict_t nodes_dict = xbt_dict_new_homogeneous(NULL); xbt_graph_t ret = xbt_graph_new_graph (0, NULL); //read the number of nodes diff --git a/src/xbt/xbt_strbuff.c b/src/xbt/xbt_strbuff.c index 1db44325f6..ea1f7a9572 100644 --- a/src/xbt/xbt_strbuff.c +++ b/src/xbt/xbt_strbuff.c @@ -309,14 +309,14 @@ static void mytest(const char *input, const char *patterns, char *str; /*foreach */ xbt_strbuff_t sb; /* what we test */ - p = xbt_dict_new(); + p = xbt_dict_new_homogeneous(free); dyn_patterns = xbt_str_split(patterns, " "); xbt_dynar_foreach(dyn_patterns, cpt, str) { xbt_dynar_t keyvals = xbt_str_split(str, "="); char *key = xbt_dynar_get_as(keyvals, 0, char *); char *val = xbt_dynar_get_as(keyvals, 1, char *); xbt_str_subst(key, '_', ' ', 0); // to put space in names without breaking the enclosing dynar_foreach - xbt_dict_set(p, key, xbt_strdup(val), free); + xbt_dict_set(p, key, xbt_strdup(val), NULL); xbt_dynar_free(&keyvals); } xbt_dynar_free(&dyn_patterns); diff --git a/tools/gras/stub_generator.c b/tools/gras/stub_generator.c index 5de317aa19..c8cda70a58 100644 --- a/tools/gras/stub_generator.c +++ b/tools/gras/stub_generator.c @@ -56,8 +56,7 @@ static s_process_t process; static void parse_process_init(void) { - xbt_dict_set(process_function_set, A_surfxml_process_function, NULL, - NULL); + xbt_dict_set(process_function_set, A_surfxml_process_function, NULL, NULL); xbt_dict_set(machine_set, A_surfxml_process_host, NULL, NULL); process.argc = 1; process.argv = xbt_new(char *, 1); @@ -96,9 +95,9 @@ int main(int argc, char *argv[]) int i; surf_init(&argc, argv); - process_function_set = xbt_dict_new(); + process_function_set = xbt_dict_new_homogeneous(NULL); process_list = xbt_dynar_new(sizeof(s_process_t), s_process_free); - machine_set = xbt_dict_new(); + machine_set = xbt_dict_new_homogeneous(NULL); for (i = 1; i < argc; i++) { int need_removal = 0; diff --git a/tools/tesh/run_context.c b/tools/tesh/run_context.c index eb93117a42..26221267f8 100644 --- a/tools/tesh/run_context.c +++ b/tools/tesh/run_context.c @@ -361,7 +361,7 @@ void rctx_pushline(const char *filepos, char kind, char *line) int len = strlen("setenv "); char *eq = strchr(line + len, '='); char *key = bprintf("%.*s", (int) (eq - line - len), line + len); - xbt_dict_set(env, key, xbt_strdup(eq + 1), xbt_free_f); + xbt_dict_set(env, key, xbt_strdup(eq + 1), NULL); free(key); rctx->env = realloc(rctx->env, ++(rctx->env_size) * sizeof(char *)); diff --git a/tools/tesh/tesh.c b/tools/tesh/tesh.c index 7c1acc90d1..f865e45fb4 100644 --- a/tools/tesh/tesh.c +++ b/tools/tesh/tesh.c @@ -183,12 +183,12 @@ static void parse_environ() int i; char *eq = NULL; char *key = NULL; - env = xbt_dict_new(); + env = xbt_dict_new_homogeneous(xbt_free_f); for (i = 0; environ[i]; i++) { p = environ[i]; eq = strchr(p, '='); key = bprintf("%.*s", (int) (eq - p), p); - xbt_dict_set(env, key, xbt_strdup(eq + 1), xbt_free_f); + xbt_dict_set(env, key, xbt_strdup(eq + 1), NULL); free(key); } } @@ -234,7 +234,7 @@ int main(int argc, char *argv[]) char *eq = strchr(argv[i+1], '='); xbt_assert(eq,"The argument of --setenv must contain a '=' (got %s instead)",argv[i+1]); char *key = bprintf("%.*s", (int) (eq - argv[i+1]), argv[i+1]); - xbt_dict_set(env, key, xbt_strdup(eq + 1), xbt_free_f); + xbt_dict_set(env, key, xbt_strdup(eq + 1), NULL); XBT_INFO("setting environment variable '%s' to '%s'", key, eq+1); free(key); memmove(argv + i, argv + i + 2, (argc - i - 1) * sizeof(char *)); -- 2.20.1