282 lines
8.7 KiB
Diff
282 lines
8.7 KiB
Diff
From 631b9deefbef76c5f69b165f33cb46690c938c95 Mon Sep 17 00:00:00 2001
|
|
From: Michal Schmidt <mschmidt@redhat.com>
|
|
Date: Thu, 31 Jul 2014 18:04:20 +0200
|
|
Subject: [PATCH] hashmap, set: remove unused functions
|
|
|
|
The following hashmap_* and set_* functions/macros have never had any
|
|
users in systemd's history:
|
|
|
|
*_iterate_backwards
|
|
*_iterate_skip
|
|
*_last
|
|
*_FOREACH_BACKWARDS
|
|
|
|
Remove this dead code.
|
|
---
|
|
src/shared/hashmap.c | 64 -------------------------------------------------
|
|
src/shared/hashmap.h | 6 -----
|
|
src/shared/set.c | 12 ----------
|
|
src/shared/set.h | 6 -----
|
|
src/test/test-hashmap.c | 55 ------------------------------------------
|
|
5 files changed, 143 deletions(-)
|
|
|
|
diff --git a/src/shared/hashmap.c b/src/shared/hashmap.c
|
|
index 715484ce7c..1eadeced5c 100644
|
|
--- a/src/shared/hashmap.c
|
|
+++ b/src/shared/hashmap.c
|
|
@@ -753,59 +753,6 @@ at_end:
|
|
return NULL;
|
|
}
|
|
|
|
-void *hashmap_iterate_backwards(Hashmap *h, Iterator *i, const void **key) {
|
|
- struct hashmap_entry *e;
|
|
-
|
|
- assert(i);
|
|
-
|
|
- if (!h)
|
|
- goto at_beginning;
|
|
-
|
|
- if (*i == ITERATOR_FIRST)
|
|
- goto at_beginning;
|
|
-
|
|
- if (*i == ITERATOR_LAST && !h->iterate_list_tail)
|
|
- goto at_beginning;
|
|
-
|
|
- e = *i == ITERATOR_LAST ? h->iterate_list_tail : (struct hashmap_entry*) *i;
|
|
-
|
|
- if (e->iterate_previous)
|
|
- *i = (Iterator) e->iterate_previous;
|
|
- else
|
|
- *i = ITERATOR_FIRST;
|
|
-
|
|
- if (key)
|
|
- *key = e->key;
|
|
-
|
|
- return e->value;
|
|
-
|
|
-at_beginning:
|
|
- *i = ITERATOR_FIRST;
|
|
-
|
|
- if (key)
|
|
- *key = NULL;
|
|
-
|
|
- return NULL;
|
|
-}
|
|
-
|
|
-void *hashmap_iterate_skip(Hashmap *h, const void *key, Iterator *i) {
|
|
- unsigned hash;
|
|
- struct hashmap_entry *e;
|
|
-
|
|
- if (!h)
|
|
- return NULL;
|
|
-
|
|
- hash = bucket_hash(h, key);
|
|
-
|
|
- e = hash_scan(h, hash, key);
|
|
- if (!e)
|
|
- return NULL;
|
|
-
|
|
- *i = (Iterator) e;
|
|
-
|
|
- return e->value;
|
|
-}
|
|
-
|
|
void* hashmap_first(Hashmap *h) {
|
|
|
|
if (!h)
|
|
@@ -828,17 +775,6 @@ void* hashmap_first_key(Hashmap *h) {
|
|
return (void*) h->iterate_list_head->key;
|
|
}
|
|
|
|
-void* hashmap_last(Hashmap *h) {
|
|
-
|
|
- if (!h)
|
|
- return NULL;
|
|
-
|
|
- if (!h->iterate_list_tail)
|
|
- return NULL;
|
|
-
|
|
- return h->iterate_list_tail->value;
|
|
-}
|
|
-
|
|
void* hashmap_steal_first(Hashmap *h) {
|
|
void *data;
|
|
|
|
diff --git a/src/shared/hashmap.h b/src/shared/hashmap.h
|
|
index 7385ebc5fa..e25840f47f 100644
|
|
--- a/src/shared/hashmap.h
|
|
+++ b/src/shared/hashmap.h
|
|
@@ -109,8 +109,6 @@ bool hashmap_isempty(Hashmap *h) _pure_;
|
|
unsigned hashmap_buckets(Hashmap *h) _pure_;
|
|
|
|
void *hashmap_iterate(Hashmap *h, Iterator *i, const void **key);
|
|
-void *hashmap_iterate_backwards(Hashmap *h, Iterator *i, const void **key);
|
|
-void *hashmap_iterate_skip(Hashmap *h, const void *key, Iterator *i);
|
|
|
|
void hashmap_clear(Hashmap *h);
|
|
void hashmap_clear_free(Hashmap *h);
|
|
@@ -120,7 +118,6 @@ void *hashmap_steal_first(Hashmap *h);
|
|
void *hashmap_steal_first_key(Hashmap *h);
|
|
void *hashmap_first(Hashmap *h) _pure_;
|
|
void *hashmap_first_key(Hashmap *h) _pure_;
|
|
-void *hashmap_last(Hashmap *h) _pure_;
|
|
|
|
void *hashmap_next(Hashmap *h, const void *key);
|
|
|
|
@@ -132,9 +129,6 @@ char **hashmap_get_strv(Hashmap *h);
|
|
#define HASHMAP_FOREACH_KEY(e, k, h, i) \
|
|
for ((i) = ITERATOR_FIRST, (e) = hashmap_iterate((h), &(i), (const void**) &(k)); (e); (e) = hashmap_iterate((h), &(i), (const void**) &(k)))
|
|
|
|
-#define HASHMAP_FOREACH_BACKWARDS(e, h, i) \
|
|
- for ((i) = ITERATOR_LAST, (e) = hashmap_iterate_backwards((h), &(i), NULL); (e); (e) = hashmap_iterate_backwards((h), &(i), NULL))
|
|
-
|
|
DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free);
|
|
DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free);
|
|
DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free);
|
|
diff --git a/src/shared/set.c b/src/shared/set.c
|
|
index d4ffe056d5..ed16067bdc 100644
|
|
--- a/src/shared/set.c
|
|
+++ b/src/shared/set.c
|
|
@@ -125,14 +125,6 @@ void *set_iterate(Set *s, Iterator *i) {
|
|
return hashmap_iterate(MAKE_HASHMAP(s), i, NULL);
|
|
}
|
|
|
|
-void *set_iterate_backwards(Set *s, Iterator *i) {
|
|
- return hashmap_iterate_backwards(MAKE_HASHMAP(s), i, NULL);
|
|
-}
|
|
-
|
|
-void *set_iterate_skip(Set *s, void *value, Iterator *i) {
|
|
- return hashmap_iterate_skip(MAKE_HASHMAP(s), value, i);
|
|
-}
|
|
-
|
|
void *set_steal_first(Set *s) {
|
|
return hashmap_steal_first(MAKE_HASHMAP(s));
|
|
}
|
|
@@ -141,10 +133,6 @@ void* set_first(Set *s) {
|
|
return hashmap_first(MAKE_HASHMAP(s));
|
|
}
|
|
|
|
-void* set_last(Set *s) {
|
|
- return hashmap_last(MAKE_HASHMAP(s));
|
|
-}
|
|
-
|
|
int set_merge(Set *s, Set *other) {
|
|
return hashmap_merge(MAKE_HASHMAP(s), MAKE_HASHMAP(other));
|
|
}
|
|
diff --git a/src/shared/set.h b/src/shared/set.h
|
|
index e650b7e3fe..840ee0a7e4 100644
|
|
--- a/src/shared/set.h
|
|
+++ b/src/shared/set.h
|
|
@@ -57,24 +57,18 @@ unsigned set_size(Set *s);
|
|
bool set_isempty(Set *s);
|
|
|
|
void *set_iterate(Set *s, Iterator *i);
|
|
-void *set_iterate_backwards(Set *s, Iterator *i);
|
|
-void *set_iterate_skip(Set *s, void *value, Iterator *i);
|
|
|
|
void set_clear(Set *s);
|
|
void set_clear_free(Set *s);
|
|
|
|
void *set_steal_first(Set *s);
|
|
void* set_first(Set *s);
|
|
-void* set_last(Set *s);
|
|
|
|
char **set_get_strv(Set *s);
|
|
|
|
#define SET_FOREACH(e, s, i) \
|
|
for ((i) = ITERATOR_FIRST, (e) = set_iterate((s), &(i)); (e); (e) = set_iterate((s), &(i)))
|
|
|
|
-#define SET_FOREACH_BACKWARDS(e, s, i) \
|
|
- for ((i) = ITERATOR_LAST, (e) = set_iterate_backwards((s), &(i)); (e); (e) = set_iterate_backwards((s), &(i)))
|
|
-
|
|
DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free);
|
|
DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free_free);
|
|
#define _cleanup_set_free_ _cleanup_(set_freep)
|
|
diff --git a/src/test/test-hashmap.c b/src/test/test-hashmap.c
|
|
index 95a7f8379d..d9863f8dab 100644
|
|
--- a/src/test/test-hashmap.c
|
|
+++ b/src/test/test-hashmap.c
|
|
@@ -343,44 +343,6 @@ static void test_hashmap_foreach(void) {
|
|
hashmap_free_free(m);
|
|
}
|
|
|
|
-static void test_hashmap_foreach_backwards(void) {
|
|
- Hashmap *m;
|
|
- Iterator i;
|
|
- char *val1, *val2, *val3, *val4, *s;
|
|
- bool value_found[] = { false, false, false, false };
|
|
-
|
|
- val1 = strdup("my val1");
|
|
- assert_se(val1);
|
|
- val2 = strdup("my val2");
|
|
- assert_se(val2);
|
|
- val3 = strdup("my val3");
|
|
- assert_se(val3);
|
|
- val4 = strdup("my val4");
|
|
- assert_se(val4);
|
|
-
|
|
- m = hashmap_new(&string_hash_ops);
|
|
- hashmap_put(m, "Key 1", val1);
|
|
- hashmap_put(m, "Key 2", val2);
|
|
- hashmap_put(m, "Key 3", val3);
|
|
- hashmap_put(m, "Key 4", val4);
|
|
-
|
|
- HASHMAP_FOREACH_BACKWARDS(s, m, i) {
|
|
- if (!value_found[0] && streq(s, val1))
|
|
- value_found[0] = true;
|
|
- else if (!value_found[1] && streq(s, val2))
|
|
- value_found[1] = true;
|
|
- else if (!value_found[2] && streq(s, val3))
|
|
- value_found[2] = true;
|
|
- else if (!value_found[3] && streq(s, val4))
|
|
- value_found[3] = true;
|
|
- }
|
|
-
|
|
- assert_se(m);
|
|
- assert_se(value_found[0] && value_found[1] && value_found[2] && value_found[3]);
|
|
-
|
|
- hashmap_free_free(m);
|
|
-}
|
|
-
|
|
static void test_hashmap_merge(void) {
|
|
Hashmap *m;
|
|
Hashmap *n;
|
|
@@ -532,21 +494,6 @@ static void test_hashmap_first_key(void) {
|
|
assert_se(streq(hashmap_first_key(m), "key 2"));
|
|
}
|
|
|
|
-static void test_hashmap_last(void) {
|
|
- _cleanup_hashmap_free_ Hashmap *m = NULL;
|
|
-
|
|
- m = hashmap_new(&string_hash_ops);
|
|
- assert_se(m);
|
|
-
|
|
- assert_se(!hashmap_last(m));
|
|
- assert_se(hashmap_put(m, "key 1", (void *) (const char *) "val 1") == 1);
|
|
- assert_se(streq(hashmap_last(m), "val 1"));
|
|
- assert_se(hashmap_put(m, "key 2", (void *) (const char *) "bar") == 1);
|
|
- assert_se(streq(hashmap_last(m), "bar"));
|
|
- assert_se(hashmap_remove(m, "key 2"));
|
|
- assert_se(streq(hashmap_last(m), "val 1"));
|
|
-}
|
|
-
|
|
static void test_hashmap_steal_first_key(void) {
|
|
_cleanup_hashmap_free_ Hashmap *m = NULL;
|
|
|
|
@@ -604,7 +551,6 @@ int main(int argc, const char *argv[]) {
|
|
test_hashmap_remove_and_put();
|
|
test_hashmap_ensure_allocated();
|
|
test_hashmap_foreach();
|
|
- test_hashmap_foreach_backwards();
|
|
test_hashmap_foreach_key();
|
|
test_hashmap_contains();
|
|
test_hashmap_merge();
|
|
@@ -613,7 +559,6 @@ int main(int argc, const char *argv[]) {
|
|
test_hashmap_size();
|
|
test_hashmap_many();
|
|
test_hashmap_first_key();
|
|
- test_hashmap_last();
|
|
test_hashmap_steal_first_key();
|
|
test_hashmap_clear_free_free();
|
|
test_uint64_compare_func();
|