2014-06-13 13:46:32

by Michal Nazarewicz

[permalink] [raw]
Subject: [PATCH] scripts: modpost: fix compilation warning

The scripts/mod/modpost.c triggers the following warning:

scripts/mod/modpost.c: In function ‘remove_dot’:
scripts/mod/modpost.c:1710:10: warning: ignoring return value of ‘strtoul’, declared with attribute warn_unused_result [-Wunused-result]

The remove_dot function that calls strtoul does not care about the
numeric value of the string that is parsed but only looks for the
end of the numeric sequence. As such, it's equivalent to just skip
over all digits.

Signed-off-by: Michal Nazarewicz <[email protected]>
---
scripts/mod/modpost.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 0663556..c710651 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1703,12 +1703,11 @@ static void check_sec_ref(struct module *mod, const char *modname,

static char *remove_dot(char *s)
{
- char *end;
- int n = strcspn(s, ".");
+ size_t n = strcspn(s, ".");

- if (n > 0 && s[n] != 0) {
- strtoul(s + n + 1, &end, 10);
- if (end > s + n + 1 && (*end == '.' || *end == 0))
+ if (n && s[n]) {
+ size_t m = strspn(s + n + 1, "0123456789");
+ if (m && (s[n + m] == '.' || s[n + m] == 0))
s[n] = 0;
}
return s;
--
2.0.0.526.g5318336


2014-07-09 01:13:19

by Rusty Russell

[permalink] [raw]
Subject: Re: [PATCH] scripts: modpost: fix compilation warning

Michal Nazarewicz <[email protected]> writes:
> The scripts/mod/modpost.c triggers the following warning:
>
> scripts/mod/modpost.c: In function ‘remove_dot’:
> scripts/mod/modpost.c:1710:10: warning: ignoring return value of ‘strtoul’, declared with attribute warn_unused_result [-Wunused-result]

That's a stupid warning, but your improvement is appreciated.

Applied,
Rusty.