dep ensure
This commit is contained in:
parent
1158ac4760
commit
c8c18403e4
371 changed files with 168673 additions and 1 deletions
47
vendor/github.com/hanwen/go-fuse/fuse/pathfs/loopback_darwin.go
generated
vendored
Normal file
47
vendor/github.com/hanwen/go-fuse/fuse/pathfs/loopback_darwin.go
generated
vendored
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
// Copyright 2016 the Go-FUSE Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package pathfs
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/hanwen/go-fuse/fuse"
|
||||
)
|
||||
|
||||
const _UTIME_NOW = ((1 << 30) - 1)
|
||||
const _UTIME_OMIT = ((1 << 30) - 2)
|
||||
|
||||
// timeToTimeval - Convert time.Time to syscall.Timeval
|
||||
//
|
||||
// Note: This does not use syscall.NsecToTimespec because
|
||||
// that does not work properly for times before 1970,
|
||||
// see https://github.com/golang/go/issues/12777
|
||||
func timeToTimeval(t *time.Time) syscall.Timeval {
|
||||
var tv syscall.Timeval
|
||||
tv.Usec = int32(t.Nanosecond() / 1000)
|
||||
tv.Sec = t.Unix()
|
||||
return tv
|
||||
}
|
||||
|
||||
// OSX does not have the utimensat syscall neded to implement this properly.
|
||||
// We do our best to emulate it using futimes.
|
||||
func (fs *loopbackFileSystem) Utimens(path string, a *time.Time, m *time.Time, context *fuse.Context) fuse.Status {
|
||||
tv := make([]syscall.Timeval, 2)
|
||||
if a == nil {
|
||||
tv[0].Usec = _UTIME_OMIT
|
||||
} else {
|
||||
tv[0] = timeToTimeval(a)
|
||||
}
|
||||
|
||||
if m == nil {
|
||||
tv[1].Usec = _UTIME_OMIT
|
||||
} else {
|
||||
tv[1] = timeToTimeval(m)
|
||||
}
|
||||
|
||||
err := syscall.Utimes(fs.GetPath(path), tv)
|
||||
return fuse.ToStatus(err)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue