From 07b11a7ba394fec6063f416fe8aa21cf43461098 Mon Sep 17 00:00:00 2001 From: Qian Yingjin Date: Wed, 13 Dec 2017 10:59:39 -0500 Subject: [PATCH] debugfs: fix ncheck program output Fix the bug that print the inode number not the program name when reporting bad inode name during checking in ncheck. Minor bug fix: it should reduce iw->inodes_left when found matched inode number. Signed-off-by: Qian Yingjin Signed-off-by: Theodore Ts'o --- debugfs/ncheck.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c index 5d9b5d2..dc4ab56 100644 --- a/debugfs/ncheck.c +++ b/debugfs/ncheck.c @@ -81,6 +81,7 @@ static int ncheck_proc(struct ext2_dir_entry *dirent, } } putc('\n', stdout); + iw->inodes_left--; } } if (!iw->inodes_left) @@ -111,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] ..."); return; @@ -122,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, @@ -133,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; } } -- 1.8.3.1