X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftdb2%2Ftest%2Flayout.c;h=16f077198dbea011a2e9510a9b6dc1aa1b938260;hb=812391f15ffd968bd27fb3847dbb63c72adb5eec;hp=d4f68cbf836a6d5f836215cb8e221a39df16bf3d;hpb=51a56b52627e635566253a3fae081c3f466b6bb6;p=ccan diff --git a/ccan/tdb2/test/layout.c b/ccan/tdb2/test/layout.c index d4f68cbf..16f07719 100644 --- a/ccan/tdb2/test/layout.c +++ b/ccan/tdb2/test/layout.c @@ -252,6 +252,8 @@ struct tdb_context *tdb_layout_get(struct tdb_layout *layout) } mem = malloc(off); + /* Fill with some weird pattern. */ + memset(mem, 0x99, off); /* Now populate our header, cribbing from a real TDB header. */ tdb = tdb_open(NULL, TDB_INTERNAL, O_RDWR, 0, &tap_log_attr); memcpy(mem, tdb->map_ptr, sizeof(struct tdb_header)); @@ -320,3 +322,17 @@ struct tdb_context *tdb_layout_get(struct tdb_layout *layout) return tdb; } + +void tdb_layout_free(struct tdb_layout *layout) +{ + unsigned int i; + + for (i = 0; i < layout->num_elems; i++) { + if (layout->elem[i].base.type == DATA) { + free(layout->elem[i].used.key.dptr); + free(layout->elem[i].used.data.dptr); + } + } + free(layout->elem); + free(layout); +}