diff options
Diffstat (limited to 'print-tree.c')
-rw-r--r-- | print-tree.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/print-tree.c b/print-tree.c index 90d55073..dd442c53 100644 --- a/print-tree.c +++ b/print-tree.c @@ -31,13 +31,15 @@ static int print_dir_item(struct btrfs_item *item, u32 len; total = btrfs_item_size(item); while(cur < total) { - printf("\t\tdir index %llu flags %u type %u\n", + printf("\t\tdir index %llu type %u\n", (unsigned long long)btrfs_disk_key_objectid(&di->location), - btrfs_dir_flags(di), btrfs_dir_type(di)); - printf("\t\tname %.*s\n", + printf("\t\tname: %.*s\n", btrfs_dir_name_len(di),(char *)(di + 1)); - len = sizeof(*di) + btrfs_dir_name_len(di); + if (btrfs_dir_data_len(di)) + printf("\t\tdata: %.*s\n", btrfs_dir_data_len(di), + (char *)((char *)(di + 1) + btrfs_dir_name_len(di))); + len = sizeof(*di) + btrfs_dir_name_len(di) + btrfs_dir_data_len(di); di = (struct btrfs_dir_item *)((char *)di + len); cur += len; } @@ -87,6 +89,7 @@ void btrfs_print_leaf(struct btrfs_root *root, struct btrfs_leaf *l) di = btrfs_item_ptr(l, i, struct btrfs_dir_item); print_dir_item(l->items + i, di); break; + case BTRFS_XATTR_ITEM_KEY: case BTRFS_DIR_INDEX_KEY: di = btrfs_item_ptr(l, i, struct btrfs_dir_item); print_dir_item(l->items + i, di); |