scripts: modpost: fix compilation warning
authorMichal Nazarewicz <mina86@mina86.com>
Sat, 26 Jul 2014 21:57:01 +0000 (07:27 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Sun, 27 Jul 2014 11:22:45 +0000 (20:52 +0930)
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 <mina86@mina86.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
scripts/mod/modpost.c

index 9d9c5b9..5ba203b 100644 (file)
@@ -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;