X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/9cf66aeafbcbb9237fedc2efc97cc2856eb60f7f..45ca5d60383cbe270624c713b916da29af7ba88f:/hotline/file_wrapper.go?ds=inline diff --git a/hotline/file_wrapper.go b/hotline/file_wrapper.go index ec025dc..342355b 100644 --- a/hotline/file_wrapper.go +++ b/hotline/file_wrapper.go @@ -114,7 +114,7 @@ func (f *fileWrapper) rsrcForkWriter() (io.WriteCloser, error) { } func (f *fileWrapper) infoForkWriter() (io.WriteCloser, error) { - file, err := os.OpenFile(f.infoPath, os.O_CREATE|os.O_WRONLY, 0644) + file, err := os.OpenFile(f.infoPath, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0644) if err != nil { return nil, err } @@ -207,7 +207,7 @@ func (f *fileWrapper) delete() error { func (f *fileWrapper) flattenedFileObject() (*flattenedFileObject, error) { dataSize := make([]byte, 4) - mTime := make([]byte, 8) + mTime := [8]byte{} ft := defaultFileType @@ -246,7 +246,7 @@ func (f *fileWrapper) flattenedFileObject() (*flattenedFileObject, error) { _, err = io.Copy(&f.ffo.FlatFileInformationFork, bytes.NewReader(b)) if err != nil { - return nil, err + return nil, fmt.Errorf("error copying FlatFileInformationFork: %w", err) } } else { @@ -257,8 +257,8 @@ func (f *fileWrapper) flattenedFileObject() (*flattenedFileObject, error) { Flags: []byte{0, 0, 0, 0}, PlatformFlags: []byte{0, 0, 1, 0}, // TODO: What is this? RSVD: make([]byte, 32), - CreateDate: mTime, // some filesystems don't support createTime - ModifyDate: mTime, + CreateDate: mTime[:], // some filesystems don't support createTime + ModifyDate: mTime[:], NameScript: []byte{0, 0}, Name: []byte(f.name), NameSize: []byte{0, 0},