diff options
Diffstat (limited to 'extra/sbcl/0001-Fix-version-string-parsing-for-Linux-3.0.patch')
-rw-r--r-- | extra/sbcl/0001-Fix-version-string-parsing-for-Linux-3.0.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/extra/sbcl/0001-Fix-version-string-parsing-for-Linux-3.0.patch b/extra/sbcl/0001-Fix-version-string-parsing-for-Linux-3.0.patch new file mode 100644 index 000000000..fe5a807ee --- /dev/null +++ b/extra/sbcl/0001-Fix-version-string-parsing-for-Linux-3.0.patch @@ -0,0 +1,43 @@ +From b43c51beeb0569a38900e1e5a78606711f987742 Mon Sep 17 00:00:00 2001 +From: Paul Khuong <pvk@pvk.ca> +Date: Wed, 3 Aug 2011 10:20:41 -0400 +Subject: [PATCH] Fix version string parsing for Linux 3.0 + + Stop assuming the presence of minor and patch version numbers; missing + values are defaulted to 0 (e.g. 3.0.0). + + Reported by a few people on IRC. +--- + src/runtime/linux-os.c | 14 ++++++++++---- + 1 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/src/runtime/linux-os.c b/src/runtime/linux-os.c +index db72fa6..e262f41 100644 +--- a/src/runtime/linux-os.c ++++ b/src/runtime/linux-os.c +@@ -198,12 +198,18 @@ os_init(char *argv[], char *envp[]) + int patch_version; + char *p; + uname(&name); ++ + p=name.release; + major_version = atoi(p); +- p=strchr(p,'.')+1; +- minor_version = atoi(p); +- p=strchr(p,'.')+1; +- patch_version = atoi(p); ++ minor_version = patch_version = 0; ++ p=strchr(p,'.'); ++ if (p != NULL) { ++ minor_version = atoi(++p); ++ p=strchr(p,'.'); ++ if (p != NULL) ++ patch_version = atoi(++p); ++ } ++ + if (major_version<2) { + lose("linux kernel version too old: major version=%d (can't run in version < 2.0.0)\n", + major_version); +-- +1.7.6 + |