From 772f17a8433b8572e1bf08b024fbf1f4e78395a3 Mon Sep 17 00:00:00 2001 From: Tanguy Pruvot Date: Wed, 30 May 2012 08:00:46 +0200 Subject: [PATCH] modinfo: match more standard module fields and fix version field Previously, -F version could match the srcversion= string. before : ~ # modinfo -F version tiwlan_drv version: 6.1.2012.05.29 version: 533BB7E5866E52F63B9ACCB version: 0x%x, oui=0x%x, 0x%x, 0x%x version: 0x%x ~ # modinfo tiwlan_drv filename: tiwlan_drv.ko author: Texas Instruments Inc - Retouched by CyanogenDefy license: GPL vermagic: 2.6.32.9 preempt mod_unload ARMv7 parm: g_sdio_debug_level:debug level depends: now : ~ # modinfo -F version tiwlan_drv version: 6.1.2012.05.29 ~ # modinfo tiwlan_drv filename: tiwlan_drv.ko license: GPL author: Texas Instruments Inc - Retouched by CyanogenDefy version: 6.1.2012.05.29 srcversion: 533BB7E5866E52F63B9ACCB depends: uts_release: 2.6.32.9-g306944c vermagic: 2.6.32.9 preempt mod_unload ARMv7 parm: g_sdio_debug_level:debug level This patch also add support for the old "-n" and some other helpers Change-Id: Icb4e9ca513cbce46b075a6f038799a7a19fb7e22 Signed-off-by: Tanguy Pruvot Signed-off-by: Denys Vlasenko --- modutils/modinfo.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/modutils/modinfo.c b/modutils/modinfo.c index c0910ffed..7c978d1da 100644 --- a/modutils/modinfo.c +++ b/modutils/modinfo.c @@ -24,9 +24,9 @@ enum { - OPT_TAGS = (1 << 8) - 1, - OPT_F = (1 << 8), /* field name */ - OPT_0 = (1 << 9), /* \0 as separator */ + OPT_TAGS = (1 << 12) - 1, /* shortcut count */ + OPT_F = (1 << 12), /* field name */ + OPT_0 = (1 << 13), /* \0 as separator */ }; struct modinfo_env { @@ -49,13 +49,17 @@ static void modinfo(const char *path, const char *version, { static const char *const shortcuts[] = { "filename", - "description", - "author", "license", + "author", + "description", + "version", + "alias", + "srcversion", + "depends", + "uts_release", "vermagic", "parm", "firmware", - "depends", }; size_t len; int j, length; @@ -97,8 +101,11 @@ static void modinfo(const char *path, const char *version, if (ptr == NULL) /* no occurance left, done */ break; if (strncmp(ptr, pattern, length) == 0 && ptr[length] == '=') { - ptr += length + 1; - ptr += display(ptr, pattern, (1<