diff options
| author | 2022-11-28 11:19:39 +0100 | |
|---|---|---|
| committer | 2022-11-28 11:19:39 +0100 | |
| commit | daf44ac2b709922512cfee3cde686b84b4868775 (patch) | |
| tree | 2967df466f8d4515d32c05cf520ba3e7a19d4fae /vendor/modernc.org/libc/libc_windows_386.go | |
| parent | [chore]: Bump codeberg.org/gruf/go-store/v2 from 2.0.9 to 2.0.10 (#1160) (diff) | |
| download | gotosocial-daf44ac2b709922512cfee3cde686b84b4868775.tar.xz | |
[chore] Bump database dependencies (#1164)
github.com/uptrace/bun v1.1.8 -> v1.1.9
github.com/uptrace/bun/pgdialect v1.1.8 -> v1.1.9
github.com/uptrace/bun/sqlitedialect v1.1.8 -> v1.1.9
modernc.org/sqlite v1.18.2 -> v1.19.5
Diffstat (limited to 'vendor/modernc.org/libc/libc_windows_386.go')
| -rw-r--r-- | vendor/modernc.org/libc/libc_windows_386.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/modernc.org/libc/libc_windows_386.go b/vendor/modernc.org/libc/libc_windows_386.go index d50f05fa3..d48e6f65c 100644 --- a/vendor/modernc.org/libc/libc_windows_386.go +++ b/vendor/modernc.org/libc/libc_windows_386.go @@ -11,6 +11,7 @@ import ( "unsafe" "modernc.org/libc/errno" + "modernc.org/libc/sys/stat" "modernc.org/libc/sys/types" ) @@ -546,3 +547,37 @@ func XDefWindowProcW(t *TLS, _ ...interface{}) int32 { func XSendMessageTimeoutW(t *TLS, _ ...interface{}) int32 { panic(todo("")) } + +// int _fstat( +// +// int fd, +// struct __stat *buffer +// +// ); +func X_fstat(t *TLS, fd int32, buffer uintptr) int32 { + f, ok := fdToFile(fd) + if !ok { + t.setErrno(EBADF) + return -1 + } + + var d syscall.ByHandleFileInformation + err := syscall.GetFileInformationByHandle(f.Handle, &d) + if err != nil { + t.setErrno(EBADF) + return -1 + } + + var bStat32 = (*stat.X_stat32)(unsafe.Pointer(buffer)) + var accessTime = int64(d.LastAccessTime.HighDateTime)<<32 + int64(d.LastAccessTime.LowDateTime) + bStat32.Fst_atime = int32(WindowsTickToUnixSeconds(accessTime)) + var modTime = int64(d.LastWriteTime.HighDateTime)<<32 + int64(d.LastWriteTime.LowDateTime) + bStat32.Fst_mtime = int32(WindowsTickToUnixSeconds(modTime)) + var crTime = int64(d.CreationTime.HighDateTime)<<32 + int64(d.CreationTime.LowDateTime) + bStat32.Fst_ctime = int32(WindowsTickToUnixSeconds(crTime)) + var fSz = int64(d.FileSizeHigh)<<32 + int64(d.FileSizeLow) + bStat32.Fst_size = int32(fSz) + bStat32.Fst_mode = WindowsAttrbiutesToStat(d.FileAttributes) + + return 0 +} |
