* under the terms of the license (GNU LGPL) which comes with this package. */
#include <string.h>
+#include <stdio.h>
#include "xbt/ex.h"
#include "xbt/log.h"
#include "xbt/mallocator.h"
int key_len,
void *data,
void_f_pvoid_t *free_ctn) {
- xbt_assert(dict);
- unsigned int hash_code = xbt_dict_hash_ext(key,key_len) % dict->table_size;
+ unsigned int hash_code;
xbt_dictelm_t current, previous = NULL;
+ xbt_assert(dict);
+
+ hash_code = xbt_dict_hash_ext(key,key_len) % dict->table_size;
current = dict->table[hash_code];
while (current != NULL &&
void *xbt_dict_get_ext(xbt_dict_t dict,
const char *key,
int key_len) {
- xbt_assert(dict);
- unsigned int hash_code = xbt_dict_hash_ext(key,key_len) % dict->table_size;
+
+ unsigned int hash_code;
xbt_dictelm_t current;
+ xbt_assert(dict);
+
+ hash_code = xbt_dict_hash_ext(key,key_len) % dict->table_size;
+
current = dict->table[hash_code];
while (current != NULL &&
(key_len != current->key_len || strncmp(key, current->key, key_len))) {
*/
void *xbt_dict_get(xbt_dict_t dict,
const char *key) {
- xbt_assert(dict);
- unsigned int hash_code = xbt_dict_hash(key) % dict->table_size;
+
+ unsigned int hash_code ;
xbt_dictelm_t current;
+ xbt_assert(dict);
+
+ hash_code = xbt_dict_hash(key) % dict->table_size;
+
current = dict->table[hash_code];
while (current != NULL && (strcmp(key, current->key))) {
current = current->next;
void xbt_dict_remove_ext(xbt_dict_t dict,
const char *key,
int key_len) {
- xbt_assert(dict);
- unsigned int hash_code = xbt_dict_hash_ext(key,key_len) % dict->table_size;
+
+ unsigned int hash_code ;
xbt_dictelm_t current, previous = NULL;
+ xbt_assert(dict);
+
+ hash_code = xbt_dict_hash_ext(key,key_len) % dict->table_size;
+
current = dict->table[hash_code];
while (current != NULL &&
(key_len != current->key_len || strncmp(key, current->key, key_len))) {
* \param dict the dict
*/
void xbt_dict_reset(xbt_dict_t dict) {
- xbt_assert(dict);
+
int i;
xbt_dictelm_t current, previous = NULL;
+
+ xbt_assert(dict);
if (dict->count == 0)
return;
* Add an already mallocated element to a dictionary.
*/
void xbt_dict_add_element(xbt_dict_t dict, xbt_dictelm_t element) {
- xbt_assert(dict);
- int hashcode = xbt_dict_hash_ext(element->key,element->key_len) % dict->table_size;
+
+ int hashcode;
+
+ xbt_assert(dict);
+
+ hashcode = xbt_dict_hash_ext(element->key,element->key_len) % dict->table_size;
element->next = dict->table[hashcode];
dict->table[hashcode] = element;
}