-/* $Id$ */
+/* dict - a generic dictionary, variation over hash table */
-/* dict - a generic dictionnary, variation over the B-tree concept */
-
-/* Copyright (c) 2003, 2004 Martin Quinson. All rights reserved. */
+/* Copyright (c) 2004-2011. The SimGrid Team.
+ * All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
xbt_mallocator_t dict_elm_mallocator = NULL;
-xbt_dictelm_t xbt_dictelm_new(const char *key,
- int key_len,
- unsigned int hash_code,
- void *content, void_f_pvoid_t free_f)
+xbt_dictelm_t xbt_dictelm_new(xbt_dict_t dict, const char *key, int key_len,
+ unsigned int hash_code, void *content,
+ void_f_pvoid_t free_f)
{
xbt_dictelm_t element = xbt_mallocator_get(dict_elm_mallocator);
element->key = xbt_new(char, key_len + 1);
- strncpy(element->key, key, key_len);
+ memcpy((void *) element->key, (void *) key, key_len);
element->key[key_len] = '\0';
element->key_len = key_len;
return element;
}
-void xbt_dictelm_free(xbt_dictelm_t element)
+void xbt_dictelm_free(xbt_dict_t dict, xbt_dictelm_t element)
{
if (element != NULL) {
xbt_free(element->key);
{
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)
-{
-
-}