os: Fix Solaris stat functions.

From Rainer Orth.

From-SVN: r184065
This commit is contained in:
Ian Lance Taylor 2012-02-09 18:07:43 +00:00
parent 16e0be9b8e
commit 1fd5b9687e
1 changed files with 7 additions and 7 deletions

View File

@ -9,18 +9,18 @@ import (
"time"
)
func sameFile(fs1, fs2 *FileStat) bool {
sys1 := fs1.Sys.(*syscall.Stat_t)
sys2 := fs2.Sys.(*syscall.Stat_t)
return sys1.Dev == sys2.Dev && sys1.Ino == sys2.Ino
func sameFile(sys1, sys2 interface{}) bool {
stat1 := sys1.(*syscall.Stat_t)
stat2 := sys2.(*syscall.Stat_t)
return stat1.Dev == stat2.Dev && stat1.Ino == stat2.Ino
}
func fileInfoFromStat(st *syscall.Stat_t, name string) FileInfo {
fs := &FileStat{
fs := &fileStat{
name: basename(name),
size: int64(st.Size),
modTime: timestrucToTime(st.Mtime),
Sys: st,
sys: st,
}
fs.mode = FileMode(st.Mode & 0777)
switch st.Mode & syscall.S_IFMT {
@ -52,5 +52,5 @@ func timestrucToTime(ts syscall.Timestruc) time.Time {
// For testing.
func atime(fi FileInfo) time.Time {
return timestrucToTime(fi.(*FileStat).Sys.(*syscall.Stat_t).Atime)
return timestrucToTime(fi.(*fileStat).Sys().(*syscall.Stat_t).Atime)
}