aboutsummaryrefslogtreecommitdiff
path: root/security/crowdsec/files/patch-pkg_types_getfstype__freebsd.go
blob: 0fe3a5157120f49f057280fb272e272b07137283 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--- pkg/types/getfstype_freebsd.go.orig	2024-04-24 21:25:32 UTC
+++ pkg/types/getfstype_freebsd.go
@@ -0,0 +1,25 @@
+//go:build freebsd
+
+package types
+
+import (
+    "fmt"
+    "syscall"
+)
+
+func GetFSType(path string) (string, error) {
+	var fsStat syscall.Statfs_t
+
+	if err := syscall.Statfs(path, &fsStat); err != nil {
+		return "", fmt.Errorf("failed to get filesystem type: %w", err)
+	}
+
+	bs := fsStat.Fstypename
+
+	b := make([]byte, len(bs))
+	for i, v := range bs {
+		b[i] = byte(v)
+	}
+
+	return string(b), nil
+}