mirror of
https://github.com/rclone/rclone
synced 2024-12-20 10:25:56 +01:00
local: Make sure info is never nil
This commit is contained in:
parent
8b75fb14c5
commit
f7652db4f1
@ -38,7 +38,7 @@ type FsObjectLocal struct {
|
|||||||
local fs.Fs // The Fs this object is part of
|
local fs.Fs // The Fs this object is part of
|
||||||
remote string // The remote path
|
remote string // The remote path
|
||||||
path string // The local path
|
path string // The local path
|
||||||
info os.FileInfo // Interface for file info
|
info os.FileInfo // Interface for file info (always present)
|
||||||
md5sum string // the md5sum of the object or "" if not calculated
|
md5sum string // the md5sum of the object or "" if not calculated
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -175,9 +175,13 @@ func (f *FsLocal) ListDir() fs.DirChan {
|
|||||||
// Puts the FsObject to the local filesystem
|
// Puts the FsObject to the local filesystem
|
||||||
func (f *FsLocal) Put(in io.Reader, remote string, modTime time.Time, size int64) (fs.Object, error) {
|
func (f *FsLocal) Put(in io.Reader, remote string, modTime time.Time, size int64) (fs.Object, error) {
|
||||||
dstPath := filepath.Join(f.root, remote)
|
dstPath := filepath.Join(f.root, remote)
|
||||||
// Temporary FsObject under construction
|
// Temporary FsObject under construction - info filled in by Update()
|
||||||
fs := &FsObjectLocal{local: f, remote: remote, path: dstPath}
|
o := &FsObjectLocal{local: f, remote: remote, path: dstPath}
|
||||||
return fs, fs.Update(in, modTime, size)
|
err := o.Update(in, modTime, size)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return o, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mkdir creates the directory if it doesn't exist
|
// Mkdir creates the directory if it doesn't exist
|
||||||
@ -403,7 +407,9 @@ func (o *FsObjectLocal) Update(in io.Reader, modTime time.Time, size int64) erro
|
|||||||
|
|
||||||
// Set the mtime
|
// Set the mtime
|
||||||
o.SetModTime(modTime)
|
o.SetModTime(modTime)
|
||||||
return nil
|
|
||||||
|
// ReRead info now that we have finished
|
||||||
|
return o.lstat()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stat a FsObject into info
|
// Stat a FsObject into info
|
||||||
|
Loading…
Reference in New Issue
Block a user