aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/idhash.c13
-rw-r--r--tests/idhash.c19
2 files changed, 6 insertions, 26 deletions
diff --git a/src/core/idhash.c b/src/core/idhash.c
index c0030f76..8651a3d6 100644
--- a/src/core/idhash.c
+++ b/src/core/idhash.c
@@ -246,10 +246,6 @@ nni_hash_insert(nni_idhash *h, uint64_t id, void *val)
{
size_t index;
- if ((id < h->ih_minval) || (id > h->ih_maxval)) {
- return (NNG_EINVAL);
- }
-
// Try to resize. If we can't, but we still have room, go ahead
// and store it.
if ((nni_hash_resize(h) != 0) && (h->ih_count >= (h->ih_cap - 1))) {
@@ -270,15 +266,6 @@ nni_hash_insert(nni_idhash *h, uint64_t id, void *val)
ent->ihe_skips++;
index = NNI_IDHASH_NEXTPROBE(h, index);
}
-
- // If this was the old dynamic value, just bump it.
- if (h->ih_dynval == id) {
- h->ih_dynval++;
- // Roll over...
- if (h->ih_dynval == h->ih_maxval) {
- h->ih_dynval = h->ih_minval;
- }
- }
}
int
diff --git a/tests/idhash.c b/tests/idhash.c
index 21f66c58..e4183e98 100644
--- a/tests/idhash.c
+++ b/tests/idhash.c
@@ -83,14 +83,6 @@ Main({
So(ptr == NULL);
});
- Convey("Range checks work", {
- char *bad = "bad";
-
- nni_idhash_set_limits(h, 1, 10, 1);
- So(nni_idhash_insert(h, 20, bad) ==
- NNG_EINVAL);
- });
-
Convey("64-bit hash values work", {
char * huge = "huge";
void * ptr = NULL;
@@ -175,11 +167,12 @@ Main({
So(id == 11);
});
});
- Convey("We cannot insert bogus values", {
- So(nni_idhash_insert(h, 1, &expect[0]) ==
- NNG_EINVAL);
- So(nni_idhash_insert(h, 100, &expect[0]) ==
- NNG_EINVAL);
+ Convey("We can insert outside range forcibly", {
+ So(nni_idhash_insert(h, 1, &expect[0]) == 0);
+ So(nni_idhash_insert(h, 100, &expect[0]) == 0);
+ So(nni_idhash_alloc(h, &id, &expect[1]) == 0);
+ So(id >= 10);
+ So(id <= 13);
});
});
});