aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorRocknest <35231115+Rocknest@users.noreply.github.com>2020-10-11 16:46:29 +0300
committerRocknest <35231115+Rocknest@users.noreply.github.com>2020-10-12 15:18:50 +0300
commit39841d5e2c97a6b04834ae82a30db27cff01f17f (patch)
treeff80523e3da8c393fce86b36af0011190f17a5f5 /lib/std
parent47d7bf1a0e9776e8695053b12795020644c2b006 (diff)
downloadzig-39841d5e2c97a6b04834ae82a30db27cff01f17f.tar.gz
zig-39841d5e2c97a6b04834ae82a30db27cff01f17f.zip
remove workaround
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/builtin.zig1
-rw-r--r--lib/std/zig/system.zig13
2 files changed, 4 insertions, 10 deletions
diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig
index c90614b3d2..699cdba761 100644
--- a/lib/std/builtin.zig
+++ b/lib/std/builtin.zig
@@ -567,6 +567,7 @@ pub fn testVersionParse() !void {
try f.eql("2.7.pre", 2, 7, 0);
try f.eql("0..3", 0, 0, 0);
try f.eql("8.008.", 8, 8, 0);
+ try f.eql("01...", 1, 0, 0);
try f.eql("55", 55, 0, 0);
try f.eql("4294967295.0.1", 4294967295, 0, 1);
try f.eql("429496729_6", 429496729, 0, 0);
diff --git a/lib/std/zig/system.zig b/lib/std/zig/system.zig
index b1947058cc..f6c129591d 100644
--- a/lib/std/zig/system.zig
+++ b/lib/std/zig/system.zig
@@ -209,16 +209,9 @@ pub const NativeTargetInfo = struct {
.linux => {
const uts = std.os.uname();
const release = mem.spanZ(&uts.release);
- // The release field may have several other fields after the
- // kernel version
- const kernel_version = if (mem.indexOfScalar(u8, release, '-')) |pos|
- release[0..pos]
- else if (mem.indexOfScalar(u8, release, '_')) |pos|
- release[0..pos]
- else
- release;
-
- if (std.builtin.Version.parse(kernel_version)) |ver| {
+ // The release field sometimes has a weird format,
+ // `Version.parse` will attempt to find some meaningful interpretation.
+ if (std.builtin.Version.parse(release)) |ver| {
os.version_range.linux.range.min = ver;
os.version_range.linux.range.max = ver;
} else |err| switch (err) {