[PATCH] modinfo: dont print module name when --field is given
flat view
STALE2241d
From: Xaver Hörl <hidden>
Date: 2020-08-26 09:36:32
Subsystem:
the rest · Maintainer:
Linus Torvalds
On Tue, Aug 25, 2020 at 10:27:46AM -0700, Lucas De Marchi wrote:
the name would be handled by the next if/else branch. Unconditionally printing
the name at the beginning for built-in modules doesn't seem something important
to retain. I'd rather handle it in the `if (is_builtin && err ==
-ENOENT) {` below just
not to exit without printing anything. In that case, printing both
name and filename
would be preferred, so the user knows why there isn't additional informationDropping the "name:" part with --field seems the right thing (updated patch below implements this). But I don't know what exactly to do about the error case, not sure if I get your intention right there. If --field is not given, the name and filename (i.e. "(builtin)" in this case) will be there anyway, on the other hand if --field _is_ given it seems a bit inconsistent to give additional output. Unless you consider this case an error condition of sorts, but the return value being 0 suggests otherwise. Thanks for having a look at this! Xaver Hörl --- tools/modinfo.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/modinfo.c b/tools/modinfo.c
index 0231bb0..b49f622 100644
--- a/tools/modinfo.c
+++ b/tools/modinfo.c@@ -178,14 +178,21 @@ static int modinfo_do(struct kmod_module *mod) is_builtin = (filename == NULL); if (is_builtin) { - printf("%-16s%s%c", "name:", kmod_module_get_name(mod), separator); filename = "(builtin)"; } - if (field != NULL && streq(field, "filename")) { + if (field != NULL && streq(field, "name")) { + printf("%s%c", kmod_module_get_name(mod), + separator); + return 0; + } else if (field != NULL && streq(field, "filename")) { printf("%s%c", filename, separator); return 0; } else if (field == NULL) { + if (is_builtin) { + printf("%-16s%s%c", "name:", + kmod_module_get_name(mod), separator); + } printf("%-16s%s%c", "filename:", filename, separator); } --
2.28.0