From 556ac3633ce3e7bd51c93b78827ae3874d856257 Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Sat, 5 May 2012 17:47:23 +0200 Subject: get_linux_version_code: don't fail on Linux version strints like "3.0-foo" Signed-off-by: Andreas Oberritter Signed-off-by: Denys Vlasenko --- libbb/kernel_version.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'libbb') diff --git a/libbb/kernel_version.c b/libbb/kernel_version.c index a168a1e4e..738ed022b 100644 --- a/libbb/kernel_version.c +++ b/libbb/kernel_version.c @@ -20,18 +20,15 @@ int FAST_FUNC get_linux_version_code(void) { struct utsname name; - char *s; + char *s, *t; int i, r; - if (uname(&name) == -1) { - bb_perror_msg("can't get system information"); - return 0; - } - + uname(&name); /* never fails */ s = name.release; r = 0; for (i = 0; i < 3; i++) { - r = r * 256 + atoi(strtok(s, ".")); + t = strtok(s, "."); + r = r * 256 + (t ? atoi(t) : 0); s = NULL; } return r; -- cgit v1.2.3