From: Masatake YAMATO Date: Fri, 7 May 2021 19:47:23 +0000 (+0900) Subject: lsfd: add MISCDEV column X-Git-Tag: v2.38-rc1~144^2~136 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=903b4bec1afd4f0818f8abb56cb6a54d54e5f031;p=thirdparty%2Futil-linux.git lsfd: add MISCDEV column Signed-off-by: Masatake YAMATO --- diff --git a/misc-utils/lsfd-cdev.c b/misc-utils/lsfd-cdev.c index 160a610699..f84d563248 100644 --- a/misc-utils/lsfd-cdev.c +++ b/misc-utils/lsfd-cdev.c @@ -48,12 +48,25 @@ static bool cdev_fill_column(struct proc *proc __attribute__((__unused__)), { char *str = NULL; const char *chrdrv; + const char *miscdev; switch(column_id) { case COL_TYPE: if (scols_line_set_data(ln, column_index, "CHR")) err(EXIT_FAILURE, _("failed to add output data")); return true; + case COL_MISCDEV: + chrdrv = get_chrdrv(major(file->stat.st_rdev)); + if (chrdrv && strcmp(chrdrv, "misc") == 0) { + miscdev = get_miscdev(minor(file->stat.st_rdev)); + if (miscdev) + str = strdup(miscdev); + else + xasprintf(&str, "%u", + minor(file->stat.st_rdev)); + break; + } + return true; case COL_CHRDRV: chrdrv = get_chrdrv(major(file->stat.st_rdev)); if (chrdrv) diff --git a/misc-utils/lsfd.c b/misc-utils/lsfd.c index 7262d193e2..f0e61b0d44 100644 --- a/misc-utils/lsfd.c +++ b/misc-utils/lsfd.c @@ -107,6 +107,8 @@ static struct colinfo infos[] = { N_("file descriptor for the file") }, [COL_INODE] = { "INODE", 0, SCOLS_FL_RIGHT, SCOLS_JSON_NUMBER, N_("inode number") }, + [COL_MISCDEV] = { "MISCDEV", 0, SCOLS_FL_RIGHT, SCOLS_JSON_STRING, + N_("misc character device name resolved by /procmisc") }, [COL_MNT_ID] = { "MNTID", 0, SCOLS_FL_RIGHT, SCOLS_JSON_NUMBER, N_("mount id") }, [COL_MODE] = { "MODE", 0, SCOLS_FL_RIGHT, SCOLS_JSON_STRING, diff --git a/misc-utils/lsfd.h b/misc-utils/lsfd.h index b3e814bc78..24a63c0048 100644 --- a/misc-utils/lsfd.h +++ b/misc-utils/lsfd.h @@ -60,6 +60,7 @@ enum { COL_FD, COL_FLAGS, COL_INODE, + COL_MISCDEV, COL_MNT_ID, COL_MODE, COL_NAME,