X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftdb2%2Ftest%2Frun-25-hashoverload.c;h=4ddb54bc4efcef72350226ea83a71b081066f3d2;hb=e1fd1d9623ef2f944374d67b573a6f1cf7a9ed12;hp=68e52114d7b7903ae51329a83aca3b3f6b9f2e8d;hpb=51a56b52627e635566253a3fae081c3f466b6bb6;p=ccan diff --git a/ccan/tdb2/test/run-25-hashoverload.c b/ccan/tdb2/test/run-25-hashoverload.c index 68e52114..4ddb54bc 100644 --- a/ccan/tdb2/test/run-25-hashoverload.c +++ b/ccan/tdb2/test/run-25-hashoverload.c @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -36,9 +37,9 @@ int main(int argc, char *argv[]) hattr.base.next = &tap_log_attr; - plan_tests(5395); + plan_tests(6883); for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) { - struct tdb_data d; + struct tdb_data d = { NULL, 0 }; /* Bogus GCC warning */ tdb = tdb_open("run-25-hashoverload.tdb", flags[i], O_RDWR|O_CREAT|O_TRUNC, 0600, &hattr); @@ -58,10 +59,11 @@ int main(int argc, char *argv[]) /* Check we can find them all. */ for (j = 0; j < (1 << TDB_HASH_GROUP_BITS) + 1; j++) { - d = tdb_fetch(tdb, key); + ok1(tdb_fetch(tdb, key, &d) == TDB_SUCCESS); ok1(d.dsize == sizeof(j)); ok1(d.dptr != NULL); ok1(d.dptr && memcmp(d.dptr, &j, d.dsize) == 0); + free(d.dptr); } /* Now add a *lot* more. */ @@ -69,10 +71,11 @@ int main(int argc, char *argv[]) j < (16 << TDB_HASH_GROUP_BITS); j++) { ok1(tdb_store(tdb, key, dbuf, TDB_INSERT) == 0); - d = tdb_fetch(tdb, key); + ok1(tdb_fetch(tdb, key, &d) == TDB_SUCCESS); ok1(d.dsize == sizeof(j)); ok1(d.dptr != NULL); ok1(d.dptr && memcmp(d.dptr, &j, d.dsize) == 0); + free(d.dptr); } ok1(tdb_check(tdb, NULL, NULL) == 0); @@ -88,10 +91,11 @@ int main(int argc, char *argv[]) for (j = (1 << TDB_HASH_GROUP_BITS); j < (16 << TDB_HASH_GROUP_BITS); j++) { - d = tdb_fetch(tdb, key); + ok1(tdb_fetch(tdb, key, &d) == TDB_SUCCESS); ok1(d.dsize == sizeof(j)); ok1(d.dptr != NULL); ok1(d.dptr && memcmp(d.dptr, &j, d.dsize) == 0); + free(d.dptr); } /* Traverse through them. */