diff --git a/openmpt123/openmpt123_sndfile.hpp b/openmpt123/openmpt123_sndfile.hpp index f2947cde3..8880fb1e0 100644 --- a/openmpt123/openmpt123_sndfile.hpp +++ b/openmpt123/openmpt123_sndfile.hpp @@ -123,9 +123,7 @@ private: } else if ( !flags.use_float && ( subformat_info.format == SF_FORMAT_PCM_16 ) ) { return matched_result( format, format_info, subformat_info, match_mode ); } - } - break; - if ( format_info.extension && ( mpt::transcode( sndfile_encoding, extension ) == format_info.extension ) ) { + } else if ( format_info.extension && ( mpt::transcode( sndfile_encoding, extension ) == format_info.extension ) ) { if ( flags.use_float && ( subformat_info.format == SF_FORMAT_FLOAT ) ) { return matched_result( format, format_info, subformat_info, match_mode ); } else if ( !flags.use_float && ( subformat_info.format == SF_FORMAT_PCM_16 ) ) { @@ -137,15 +135,13 @@ private: if ( subformat_info.extension && ( mpt::transcode( sndfile_encoding, extension ) == subformat_info.extension ) ) { if ( flags.use_float && ( subformat_info.format == SF_FORMAT_FLOAT || subformat_info.format == SF_FORMAT_DOUBLE ) ) { return matched_result( format, format_info, subformat_info, match_mode ); - } else if ( !flags.use_float && ( subformat_info.format & ( subformat_info.format == SF_FORMAT_PCM_16 || subformat_info.format == SF_FORMAT_PCM_24 || subformat_info.format == SF_FORMAT_PCM_32 ) ) ) { + } else if ( !flags.use_float && ( subformat_info.format == SF_FORMAT_PCM_16 || subformat_info.format == SF_FORMAT_PCM_24 || subformat_info.format == SF_FORMAT_PCM_32 ) ) { return matched_result( format, format_info, subformat_info, match_mode ); } - } - break; - if ( format_info.extension && ( mpt::transcode( sndfile_encoding, extension ) == format_info.extension ) ) { + } else if ( format_info.extension && ( mpt::transcode( sndfile_encoding, extension ) == format_info.extension ) ) { if ( flags.use_float && ( subformat_info.format == SF_FORMAT_FLOAT || subformat_info.format == SF_FORMAT_DOUBLE ) ) { return matched_result( format, format_info, subformat_info, match_mode ); - } else if ( !flags.use_float && ( subformat_info.format & ( subformat_info.format == SF_FORMAT_PCM_16 || subformat_info.format == SF_FORMAT_PCM_24 || subformat_info.format == SF_FORMAT_PCM_32 ) ) ) { + } else if ( !flags.use_float && ( subformat_info.format == SF_FORMAT_PCM_16 || subformat_info.format == SF_FORMAT_PCM_24 || subformat_info.format == SF_FORMAT_PCM_32 ) ) { return matched_result( format, format_info, subformat_info, match_mode ); } }