diff --git a/src/add-ons/kernel/file_systems/bfs/Debug.cpp b/src/add-ons/kernel/file_systems/bfs/Debug.cpp index 15f147faa4..e4006993cc 100644 --- a/src/add-ons/kernel/file_systems/bfs/Debug.cpp +++ b/src/add-ons/kernel/file_systems/bfs/Debug.cpp @@ -248,14 +248,23 @@ dump_bplustree_node(const bplustree_node *node, const bplustree_header *header, static int dump_inode(int argc, char **argv) { - if (argc != 2 || !strcmp(argv[1], "--help")) { - kprintf("usage: bfsinode \n"); + bool block = false; + if (argc == 3 && !strcmp(argv[1], "-b")) + block = true; + + if (argc != 2 + (block ? 1 : 0) || !strcmp(argv[1], "--help")) { + kprintf("usage: bfsinode [-b] \n"); return 0; } - Inode *inode = (Inode *)parse_expression(argv[1]); - dump_inode(&inode->Node()); + addr_t address = parse_expression(argv[argc - 1]); + bfs_inode *node; + if (block) + node = (bfs_inode *)address; + else + node = &((Inode *)address)->Node(); + dump_inode(node); return 0; }