Skip to content

Commit 0b293c3

Browse files
Merge pull request #1889 from kolyshkin/kernel
pkg/parsers/kernel: simplify
2 parents e6a80b3 + ae51baa commit 0b293c3

File tree

6 files changed

+5
-92
lines changed

6 files changed

+5
-92
lines changed

pkg/parsers/kernel/kernel_unix.go

+5-19
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,21 @@
1-
//go:build linux || freebsd || solaris || openbsd
2-
// +build linux freebsd solaris openbsd
3-
41
// Package kernel provides helper function to get, parse and compare kernel
52
// versions for different platforms.
63
package kernel
74

85
import (
9-
"bytes"
10-
116
"github.com/sirupsen/logrus"
7+
"golang.org/x/sys/unix"
128
)
139

1410
// GetKernelVersion gets the current kernel version.
1511
func GetKernelVersion() (*VersionInfo, error) {
16-
uts, err := uname()
17-
if err != nil {
18-
return nil, err
19-
}
12+
uts := &unix.Utsname{}
2013

21-
release := make([]byte, len(uts.Release))
22-
23-
i := 0
24-
for _, c := range uts.Release {
25-
release[i] = byte(c)
26-
i++
14+
if err := unix.Uname(uts); err != nil {
15+
return nil, err
2716
}
2817

29-
// Remove the \x00 from the release for Atoi to parse correctly
30-
release = release[:bytes.IndexByte(release, 0)]
31-
32-
return ParseRelease(string(release))
18+
return ParseRelease(unix.ByteSliceToString(uts.Release[:]))
3319
}
3420

3521
// CheckKernelVersion checks if current kernel is newer than (or equal to)

pkg/parsers/kernel/uname_freebsd.go

-17
This file was deleted.

pkg/parsers/kernel/uname_linux.go

-17
This file was deleted.

pkg/parsers/kernel/uname_solaris.go

-14
This file was deleted.

pkg/parsers/kernel/uname_unsupported.go

-14
This file was deleted.

pkg/parsers/kernel/uname_unsupported_type.go

-11
This file was deleted.

0 commit comments

Comments
 (0)