summaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2018-09-20 14:18:57 +0100
committerJoe Thornber <ejt@redhat.com>2018-09-20 14:18:57 +0100
commit0ac7913c6a43c5bcfbba735652041a0eae4180c6 (patch)
treef002caeeb5b2c100fef2c27af4a43719ec152111 /base
parentabe2210c261223212435fbfd505842583ee1145a (diff)
downloadlvm2-0ac7913c6a43c5bcfbba735652041a0eae4180c6.tar.gz
[radix-tree] Fix bug in _dump
Values in an n48 were not being printed in the correct order.
Diffstat (limited to 'base')
-rw-r--r--base/data-struct/radix-tree-adaptive.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/base/data-struct/radix-tree-adaptive.c b/base/data-struct/radix-tree-adaptive.c
index 233bebd9a..a657b2bac 100644
--- a/base/data-struct/radix-tree-adaptive.c
+++ b/base/data-struct/radix-tree-adaptive.c
@@ -1260,9 +1260,10 @@ static void _dump(FILE *out, struct value v, unsigned indent)
fprintf(out, "%x ", i);
fprintf(out, ">\n");
- for (i = 0; i < 256; i++)
- if (n48->keys[i] < 48)
- _dump(out, n48->values[i], indent + 1);
+ for (i = 0; i < n48->nr_entries; i++) {
+ assert(n48->values[i].type != UNSET);
+ _dump(out, n48->values[i], indent + 1);
+ }
break;
case NODE256: