A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Do not display the thread name by default. In SG, this is the process name, and if...
[simgrid.git]
/
src
/
xbt
/
dict_elm.c
diff --git
a/src/xbt/dict_elm.c
b/src/xbt/dict_elm.c
index
1db0029
..
e08190d
100644
(file)
--- a/
src/xbt/dict_elm.c
+++ b/
src/xbt/dict_elm.c
@@
-17,15
+17,18
@@
XBT_LOG_NEW_SUBCATEGORY(xbt_dict_search,xbt_dict,"Dictionaries internals: search
XBT_LOG_NEW_SUBCATEGORY(xbt_dict_remove,xbt_dict,"Dictionaries internals: elements removal");
XBT_LOG_NEW_SUBCATEGORY(xbt_dict_collapse,xbt_dict,"Dictionaries internals: post-removal cleanup");
XBT_LOG_NEW_SUBCATEGORY(xbt_dict_remove,xbt_dict,"Dictionaries internals: elements removal");
XBT_LOG_NEW_SUBCATEGORY(xbt_dict_collapse,xbt_dict,"Dictionaries internals: post-removal cleanup");
+xbt_mallocator_t dict_elm_mallocator = NULL;
+
xbt_dictelm_t xbt_dictelm_new(const char *key,
int key_len,
void *content,
void_f_pvoid_t free_f,
xbt_dictelm_t next) {
xbt_dictelm_t xbt_dictelm_new(const char *key,
int key_len,
void *content,
void_f_pvoid_t free_f,
xbt_dictelm_t next) {
- xbt_dictelm_t element = xbt_
new0(s_xbt_dictelm_t, 1
);
+ xbt_dictelm_t element = xbt_
mallocator_get(dict_elm_mallocator
);
- element->key = xbt_new
0
(char, key_len + 1);
+ element->key = xbt_new(char, key_len + 1);
strncpy(element->key, key, key_len);
strncpy(element->key, key, key_len);
+ element->key[key_len] = '\0';
element->key_len = key_len;
element->content = content;
element->key_len = key_len;
element->content = content;
@@
-43,6
+46,18
@@
void xbt_dictelm_free(xbt_dictelm_t element) {
element->free_f(element->content);
}
element->free_f(element->content);
}
- xbt_
free(
element);
+ xbt_
mallocator_release(dict_elm_mallocator,
element);
}
}
}
}
+
+void* dict_elm_mallocator_new_f(void) {
+ return xbt_new(s_xbt_dictelm_t, 1);
+}
+
+void dict_elm_mallocator_free_f(void* elem) {
+ xbt_free(elem);
+}
+
+void dict_elm_mallocator_reset_f(void* elem) {
+
+}