-func (f *FileNameWithInfo) MarshalBinary() (data []byte, err error) {
- var buf bytes.Buffer
- err = binary.Write(&buf, binary.LittleEndian, f.fileNameWithInfoHeader)
- if err != nil {
- return data, err
- }
-
- _, err = buf.Write(f.name)
- if err != nil {
- return data, err
- }
-
- return buf.Bytes(), err
+// Read implements io.Reader for FileNameWithInfo
+func (f *FileNameWithInfo) Read(b []byte) (int, error) {
+ return copy(b,
+ slices.Concat(
+ f.Type[:],
+ f.Creator[:],
+ f.FileSize[:],
+ f.RSVD[:],
+ f.NameScript[:],
+ f.NameSize[:],
+ f.name,
+ ),
+ ), io.EOF