#include "xbt/str.h"
#include "dict_private.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_dict, xbt,
#include "xbt/str.h"
#include "dict_private.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_dict, xbt,
*
* Creates and initialize a new dictionary with a default hashtable size.
* The dictionary is heterogeneous: each element can have a different free
*
* Creates and initialize a new dictionary with a default hashtable size.
* The dictionary is heterogeneous: each element can have a different free
* \param key_len the size of the \a key
* \param data the data to add in the dict
* \param free_ctn function to call with (\a data as argument) when
* \param key_len the size of the \a key
* \param data the data to add in the dict
* \param free_ctn function to call with (\a data as argument) when
- * \a data is removed from the dictionary
+ * \a data is removed from the dictionary. This param
+ * will only be considered when the dict was instantiated with
+ * xbt_dict_new() and not xbt_dict_new_homogeneous()
*
* Set the \a data in the structure under the \a key, which can be any kind
* of data, as long as its length is provided in \a key_len.
*
* Set the \a data in the structure under the \a key, which can be any kind
* of data, as long as its length is provided in \a key_len.
* \param key the key to set the new data
* \param data the data to add in the dict
* \param free_ctn function to call with (\a data as argument) when
* \param key the key to set the new data
* \param data the data to add in the dict
* \param free_ctn function to call with (\a data as argument) when
- * \a data is removed from the dictionary
+ * \a data is removed from the dictionary. This param
+ * will only be considered when the dict was instantiated with
+ * xbt_dict_new() and not xbt_dict_new_homogeneous()
*
* set the \a data in the structure under the \a key, which is a
* null terminated string.
*
* set the \a data in the structure under the \a key, which is a
* null terminated string.
fill(&head, homogeneous);
count_check_get_key(head, 7);
xbt_test_add("Change 123 to 'Changed 123'");
fill(&head, homogeneous);
count_check_get_key(head, 7);
xbt_test_add("Change 123 to 'Changed 123'");
- xbt_dict_set(head, "123", strdup("Changed 123"), free_f);
+ xbt_dict_set(head, "123", xbt_strdup("Changed 123"), free_f);
count_check_get_key(head, 7);
xbt_test_add("Change 123 back to '123'");
count_check_get_key(head, 7);
xbt_test_add("Change 123 back to '123'");
- xbt_dict_set(head, "123", strdup("123"), free_f);
+ xbt_dict_set(head, "123", xbt_strdup("123"), free_f);
count_check_get_key(head, 7);
xbt_test_add("Change 12a to 'Dummy 12a'");
count_check_get_key(head, 7);
xbt_test_add("Change 12a to 'Dummy 12a'");
- xbt_dict_set(head, "12a", strdup("Dummy 12a"), free_f);
+ xbt_dict_set(head, "12a", xbt_strdup("Dummy 12a"), free_f);
count_check_get_key(head, 7);
xbt_test_add("Change 12a to '12a'");
count_check_get_key(head, 7);
xbt_test_add("Change 12a to '12a'");
- xbt_dict_set(head, "12a", strdup("12a"), free_f);
+ xbt_dict_set(head, "12a", xbt_strdup("12a"), free_f);
count_check_get_key(head, 7);
xbt_test_add("Traverse the resulting dictionary");
count_check_get_key(head, 7);
xbt_test_add("Traverse the resulting dictionary");