- 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[:])