- binary.BigEndian.PutUint32(fnwi.FileSize[:], uint32(file.Size()))
- copy(fnwi.Type[:], []byte(fileTypeFromFilename(file.Name()).TypeCode)[:])
- copy(fnwi.Creator[:], []byte(fileTypeFromFilename(file.Name()).CreatorCode)[:])
+ // the Hotline protocol does not support file sizes > 4GiB due to the 4 byte field size, so skip them
+ if fileInfo.Size() > maxFileSize {
+ continue
+ }
+
+ hlFile, err := newFileWrapper(&OSFileStore{}, path+"/"+file.Name(), 0)
+ if err != nil {
+ return nil, fmt.Errorf("newFileWrapper: %w", err)
+ }
+
+ copy(fnwi.FileSize[:], hlFile.totalSize())
+ copy(fnwi.Type[:], hlFile.ffo.FlatFileInformationFork.TypeSignature)
+ copy(fnwi.Creator[:], hlFile.ffo.FlatFileInformationFork.CreatorSignature)