Przeglądaj źródła

Fix building client on OpenBSD

Signed-off-by: Ivan Markin <twim@riseup.net>
Ivan Markin 8 lat temu
rodzic
commit
925bc27b81
2 zmienionych plików z 13 dodań i 1 usunięć
  1. 1 1
      pkg/parsers/kernel/kernel_unix.go
  2. 12 0
      pkg/system/stat_openbsd.go

+ 1 - 1
pkg/parsers/kernel/kernel_unix.go

@@ -1,4 +1,4 @@
-// +build linux freebsd solaris
+// +build linux freebsd solaris openbsd
 
 
 // Package kernel provides helper function to get, parse and compare kernel
 // Package kernel provides helper function to get, parse and compare kernel
 // versions for different platforms.
 // versions for different platforms.

+ 12 - 0
pkg/system/stat_openbsd.go

@@ -13,3 +13,15 @@ func fromStatT(s *syscall.Stat_t) (*StatT, error) {
 		rdev: uint64(s.Rdev),
 		rdev: uint64(s.Rdev),
 		mtim: s.Mtim}, nil
 		mtim: s.Mtim}, nil
 }
 }
+
+// Stat takes a path to a file and returns
+// a system.Stat_t type pertaining to that file.
+//
+// Throws an error if the file does not exist
+func Stat(path string) (*StatT, error) {
+	s := &syscall.Stat_t{}
+	if err := syscall.Stat(path, s); err != nil {
+		return nil, err
+	}
+	return fromStatT(s)
+}