}
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
}
func (f *fileWrapper) flattenedFileObject() (*flattenedFileObject, error) {
dataSize := make([]byte, 4)
- mTime := make([]byte, 8)
+ mTime := [8]byte{}
ft := defaultFileType
_, 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 {
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},