Skip to content

Commit 2dc150a

Browse files
YoechTim Cooper
authored andcommitted
add windows support
1 parent ca4f7f3 commit 2dc150a

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

api_other.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// +build !darwin,!linux
1+
// +build !darwin,!linux,!windows
22

33
package lfs
44

api_windows.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// +build windows
2+
3+
package lfs
4+
5+
import (
6+
"os"
7+
"syscall"
8+
"time"
9+
10+
"github.com/yuin/gopher-lua"
11+
)
12+
13+
func attributesFill(tbl *lua.LTable, stat os.FileInfo) error {
14+
sys := stat.Sys().(*syscall.Win32FileAttributeData)
15+
tbl.RawSetH(lua.LString("dev"), lua.LNumber(0))
16+
tbl.RawSetH(lua.LString("ino"), lua.LNumber(0))
17+
18+
if stat.IsDir() {
19+
tbl.RawSetH(lua.LString("mode"), lua.LString("directory"))
20+
} else {
21+
tbl.RawSetH(lua.LString("mode"), lua.LString("file"))
22+
}
23+
24+
tbl.RawSetH(lua.LString("nlink"), lua.LNumber(0))
25+
tbl.RawSetH(lua.LString("uid"), lua.LNumber(0))
26+
tbl.RawSetH(lua.LString("gid"), lua.LNumber(0))
27+
tbl.RawSetH(lua.LString("rdev"), lua.LNumber(0))
28+
29+
tbl.RawSetH(lua.LString("access"), lua.LNumber(time.Unix(0, sys.LastAccessTime.Nanoseconds()/1e9).Second()))
30+
tbl.RawSetH(lua.LString("modification"), lua.LNumber(time.Unix(0, sys.CreationTime.Nanoseconds()/1e9).Second()))
31+
tbl.RawSetH(lua.LString("change"), lua.LNumber(time.Unix(0, sys.LastWriteTime.Nanoseconds()/1e9).Second()))
32+
tbl.RawSetH(lua.LString("size"), lua.LNumber(stat.Size()))
33+
34+
tbl.RawSetH(lua.LString("blocks"), lua.LNumber(0))
35+
tbl.RawSetH(lua.LString("blksize"), lua.LNumber(0))
36+
return nil
37+
}

0 commit comments

Comments
 (0)