struct inode_walk_struct *iw = (struct inode_walk_struct *) private;
struct ext2_inode inode;
errcode_t retval;
- int filetype = dirent->name_len >> 8;
+ int filetype = ext2fs_dirent_file_type(dirent);
int i;
iw->position++;
if (iw->parent)
printf("%u\t%s/%.*s", iw->iarray[i],
iw->parent,
- (dirent->name_len & 0xFF), dirent->name);
+ ext2fs_dirent_name_len(dirent),
+ dirent->name);
else
printf("%u\t<%u>/%.*s", iw->iarray[i],
iw->dir,
- (dirent->name_len & 0xFF), dirent->name);
+ ext2fs_dirent_name_len(dirent),
+ dirent->name);
if (iw->check_dirent && filetype) {
if (!debugfs_read_inode(dirent->inode, &inode,
"ncheck") &&
}
}
putc('\n', stdout);
+ iw->inodes_left--;
}
}
if (!iw->inodes_left)
goto print_usage;
}
}
- argc -= optind;
- argv += optind;
- if (argc < 1) {
+ if (argc <= 1) {
print_usage:
com_err(argv[0], 0, "Usage: ncheck [-c] <inode number> ...");
return;
if (check_fs_open(argv[0]))
return;
+ argc -= optind;
+ argv += optind;
iw.iarray = malloc(sizeof(ext2_ino_t) * argc);
if (!iw.iarray) {
com_err("ncheck", ENOMEM,
for (i=0; i < argc; i++) {
iw.iarray[i] = strtol(argv[i], &tmp, 0);
if (*tmp) {
- com_err(argv[0], 0, "Bad inode - %s", argv[i]);
+ com_err("ncheck", 0, "Bad inode - %s", argv[i]);
goto error_out;
}
}