for (i = 0; i < NCTX; i++) {
int j;
for (j = 0; j < NOBJ; j++) {
- void *p;
- size_t size = 1<<(i+j);
+ char *p;
+ size_t size = 1<<(i/3+j);
p = talloc(ctx[i], size);
if (!p) {
fprintf(stderr,
- "failed to talloc %0.f bytes\n", size);
+ "failed to talloc %.0f bytes\n",
+ (double) size);
exit(1);
}
+
+ memset(p, 'A' + j, size);
}
}
for (i = 0; i < NCTX; i++) {
- printf("talloc@%p %-40s %db\n", ctx[i], ctx[i]->name,
- ctx[i]->total_alloc_size);
+ printf("talloc@%p %-40s %dkB\n", ctx[i],
+ talloc_pool_name(ctx[i]),
+ talloc_pool_size(ctx[i]) >> 10);
}
+ printf("%s", talloc_describe_all(ctx[0]));
+
+ for (i = NCTX - 1; i >= 0; i--)
+ talloc_destroy(ctx[i]);
+
return 0;
}