From: Li Dongyang Date: Fri, 5 Aug 2022 21:52:21 +0000 (-0600) Subject: debugfs: allow for ncheck X-Git-Tag: v1.46.6-rc1~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3a3f3f153372ae5daafad5fb68d84847e9f17e9c;p=thirdparty%2Fe2fsprogs.git debugfs: allow for ncheck If the ncheck argument is of the form "", allow it for ncheck for consistency with other commands that accept an inode number. Improve the error message, use "Invalid inode number" instead of "Bad inode", which implies the inode content being bad. Signed-off-by: Li Dongyang Reviewed-by: Andreas Dilger Signed-off-by: Theodore Ts'o --- diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c index 011f26deb..963b3a12b 100644 --- a/debugfs/ncheck.c +++ b/debugfs/ncheck.c @@ -134,9 +134,15 @@ void do_ncheck(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), iw.names_left = 0; for (i=0; i < argc; i++) { - iw.iarray[i] = strtol(argv[i], &tmp, 0); - if (*tmp) { - com_err("ncheck", 0, "Bad inode - %s", argv[i]); + char *str = argv[i]; + int len = strlen(str); + + if ((len > 2) && (str[0] == '<') && (str[len - 1] == '>')) + str++; + iw.iarray[i] = strtol(str, &tmp, 0); + if (*tmp && (str == argv[i] || *tmp != '>')) { + com_err("ncheck", 0, "Invalid inode number - '%s'", + argv[i]); goto error_out; } if (debugfs_read_inode(iw.iarray[i], &inode, *argv))