aboutsummaryrefslogtreecommitdiff
path: root/dict.c
diff options
context:
space:
mode:
authorJuan Cespedes <cespedes@debian.org>2009-05-14 13:47:58 +0200
committerJuan Cespedes <cespedes@debian.org>2009-05-14 13:47:58 +0200
commitcd8976dbee947f152c3a322503a1063c6359da76 (patch)
tree2ceab3f0794ec394fdefc75f9be479339673efe1 /dict.c
parent7c3b431ca18bebd4b78e8e254ad389bc26d6bd57 (diff)
downloadltrace-cd8976dbee947f152c3a322503a1063c6359da76.tar.gz
better debugging support (-d option)
Diffstat (limited to 'dict.c')
-rw-r--r--dict.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/dict.c b/dict.c
index 0f44f5d..e55d367 100644
--- a/dict.c
+++ b/dict.c
@@ -36,6 +36,8 @@ dict_init(unsigned int (*key2hash) (void *),
struct dict *d;
int i;
+ debug(DEBUG_FUNCTION, "dict_init()");
+
d = malloc(sizeof(struct dict));
if (!d) {
perror("malloc()");
@@ -54,6 +56,7 @@ dict_clear(struct dict *d) {
int i;
struct dict_entry *entry, *nextentry;
+ debug(DEBUG_FUNCTION, "dict_clear()");
assert(d);
for (i = 0; i < DICTTABLESIZE; i++) {
for (entry = d->buckets[i]; entry != NULL; entry = nextentry) {
@@ -68,8 +71,13 @@ dict_clear(struct dict *d) {
int
dict_enter(struct dict *d, void *key, void *value) {
struct dict_entry *entry, *newentry;
- unsigned int hash = d->key2hash(key);
- unsigned int bucketpos = hash % DICTTABLESIZE;
+ unsigned int hash;
+ unsigned int bucketpos;
+
+ debug(DEBUG_FUNCTION, "dict_enter()");
+
+ hash = d->key2hash(key);
+ bucketpos = hash % DICTTABLESIZE;
assert(d);
newentry = malloc(sizeof(struct dict_entry));
@@ -98,10 +106,15 @@ dict_enter(struct dict *d, void *key, void *value) {
void *
dict_find_entry(struct dict *d, void *key) {
- unsigned int hash = d->key2hash(key);
- unsigned int bucketpos = hash % DICTTABLESIZE;
+ unsigned int hash;
+ unsigned int bucketpos;
struct dict_entry *entry;
+ debug(DEBUG_FUNCTION, "dict_find_entry()");
+
+ hash = d->key2hash(key);
+ bucketpos = hash % DICTTABLESIZE;
+
assert(d);
for (entry = d->buckets[bucketpos]; entry; entry = entry->next) {
if (hash != entry->hash) {
@@ -119,6 +132,8 @@ dict_apply_to_all(struct dict *d,
void (*func) (void *key, void *value, void *data), void *data) {
int i;
+ debug(DEBUG_FUNCTION, "dict_apply_to_all()");
+
if (!d) {
return;
}
@@ -171,6 +186,8 @@ dict_clone(struct dict *old, void * (*key_clone)(void*), void * (*value_clone)(v
struct dict *d;
int i;
+ debug(DEBUG_FUNCTION, "dict_clone()");
+
d = malloc(sizeof(struct dict));
if (!d) {
perror("malloc()");