Whamcloud - gitweb
Fix gcc and clang warnings
[tools/e2fsprogs.git] / debugfs / ncheck.c
index 58f3a50..dc4ab56 100644 (file)
@@ -45,7 +45,7 @@ static int ncheck_proc(struct ext2_dir_entry *dirent,
        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++;
@@ -66,11 +66,13 @@ static int ncheck_proc(struct ext2_dir_entry *dirent,
                        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") &&
@@ -79,6 +81,7 @@ static int ncheck_proc(struct ext2_dir_entry *dirent,
                                }
                        }
                        putc('\n', stdout);
+                       iw->inodes_left--;
                }
        }
        if (!iw->inodes_left)
@@ -109,10 +112,8 @@ void do_ncheck(int argc, char **argv)
                        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;
@@ -120,6 +121,8 @@ void do_ncheck(int argc, char **argv)
        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,
@@ -131,7 +134,7 @@ void do_ncheck(int argc, char **argv)
        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;
                }
        }