- // // Copy N bytes from file to connection
- // _, err = io.CopyN(conn, file, int64(binary.BigEndian.Uint32(ffo.FlatFileDataForkHeader.DataSize[:])))
- // if err != nil {
- // return err
- // }
- // file.Close()
- sendBuffer := make([]byte, 1048576)
- var totalSent int64
- for {
- var bytesRead int
- if bytesRead, err = file.ReadAt(sendBuffer, dataOffset+totalSent); err == io.EOF {
- if _, err := conn.Write(sendBuffer[:bytesRead]); err != nil {
- return err
- }
- break
- }
+ // wr := bufio.NewWriterSize(rwc, 1460)
+ err = sendFile(rwc, file, int(dataOffset))
+ if err != nil {
+ return err
+ }
+
+ if nextAction[1] != 2 && hlFile.ffo.FlatFileHeader.ForkCount[1] == 3 {
+ err = binary.Write(rwc, binary.BigEndian, hlFile.rsrcForkHeader())