diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..48ee47d --- /dev/null +++ b/build.bat @@ -0,0 +1,15 @@ +set GOOS=windows +set GOARCH=386 +set CGO_ENABLED=0 +go build -o symfs_386.exe -trimpath -ldflags "-s -w -buildid=" .\cmd\main.go +go build -o symfs_386_daemon.exe -trimpath -ldflags "-H windowsgui -s -w -buildid=" .\cmd\main.go +set GOOS=windows +set GOARCH=amd64 +set CGO_ENABLED=0 +go build -o symfs_amd64.exe -trimpath -ldflags "-s -w -buildid=" .\cmd\main.go +go build -o symfs_amd64_daemon.exe -trimpath -ldflags "-H windowsgui -s -w -buildid=" .\cmd\main.go +set GOOS=windows +set GOARCH=arm64 +set CGO_ENABLED=0 +go build -o symfs_arm64.exe -trimpath -ldflags "-s -w -buildid=" .\cmd\main.go +go build -o symfs_arm64_daemon.exe -trimpath -ldflags "-H windowsgui -s -w -buildid=" .\cmd\main.go \ No newline at end of file diff --git a/internal/fs/symfs_windows.go b/internal/fs/symfs_windows.go index 4a1a1cb..44e813f 100644 --- a/internal/fs/symfs_windows.go +++ b/internal/fs/symfs_windows.go @@ -463,7 +463,7 @@ func (s *SymFS) watch() { for { info := (*FileNotifyInformation)(unsafe.Pointer(&buf[offset])) length := info.FileNameLength / 2 - nameSlice := (*[1 << 30]uint16)(unsafe.Pointer(&info.FileName[0]))[:length:length] + nameSlice := (*[1 << 16]uint16)(unsafe.Pointer(&info.FileName[0]))[:length:length] fileName := syscall.UTF16ToString(nameSlice) fileName = strings.ReplaceAll(fileName, "\\", "/") fullPath := "/" + fileName