mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-05-07 20:27:37 +08:00
ci cross-platform fix: make system_info disk usage helper windows-safe with build tags
This commit is contained in:
22
pkg/tools/system_disk_unix.go
Normal file
22
pkg/tools/system_disk_unix.go
Normal file
@@ -0,0 +1,22 @@
|
||||
//go:build !windows
|
||||
|
||||
package tools
|
||||
|
||||
import "fmt"
|
||||
import "syscall"
|
||||
|
||||
func diskUsageRoot() string {
|
||||
var stat syscall.Statfs_t
|
||||
if err := syscall.Statfs("/", &stat); err != nil {
|
||||
return ""
|
||||
}
|
||||
bsize := uint64(stat.Bsize)
|
||||
total := stat.Blocks * bsize
|
||||
free := stat.Bfree * bsize
|
||||
used := total - free
|
||||
if total == 0 {
|
||||
return ""
|
||||
}
|
||||
return fmt.Sprintf("Disk (/): Used %.2f GB / Total %.2f GB (%.2f%%)\n",
|
||||
float64(used)/1024/1024/1024, float64(total)/1024/1024/1024, float64(used)/float64(total)*100)
|
||||
}
|
||||
Reference in New Issue
Block a user