From: Andreas Oberritter Date: Sat, 5 May 2012 15:47:23 +0000 (+0200) Subject: get_linux_version_code: don't fail on Linux version strints like "3.0-foo" X-Git-Tag: 1_21_0~181 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=556ac3633ce3e7bd51c93b78827ae3874d856257;p=oweals%2Fbusybox.git 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 --- 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;