# HG changeset patch # User Matti Hamalainen # Date 1544007268 -7200 # Node ID bd109c0a7b8874b0468aedfcce0470ead6f5ac64 # Parent f11fad2dc3b5644c73b91c9566ffd72c7ae82251 Improve IFF probing. diff -r f11fad2dc3b5 -r bd109c0a7b88 tools/libgfx.c --- a/tools/libgfx.c Tue Dec 04 21:19:45 2018 +0200 +++ b/tools/libgfx.c Wed Dec 05 12:54:28 2018 +0200 @@ -1507,14 +1507,12 @@ static int fmtProbeIFF(const Uint8 *buf, const size_t len) { if (len > 32 && - buf[ 0] == 'F' && buf[ 1] == 'O' && - buf[ 2] == 'R' && buf[ 3] == 'M' && ( - (buf[ 8] == 'I' && buf[ 9] == 'L' && buf[10] == 'B' && buf[11] == 'M') || - (buf[ 8] == 'P' && buf[ 9] == 'B' && buf[10] == 'M' && buf[11] == 0x20) - )) + DM_BE32_TO_NATIVE(*(Uint32 *) (buf + 0)) == IFF_ID_FORM && ( + DM_BE32_TO_NATIVE(*(Uint32 *) (buf + 8)) == IFF_ID_ILBM || + DM_BE32_TO_NATIVE(*(Uint32 *) (buf + 8)) == IFF_ID_PBM || + DM_BE32_TO_NATIVE(*(Uint32 *) (buf + 8)) == IFF_ID_ACBM)) { - if (buf[12] == 'B' && buf[13] == 'M' && - buf[14] == 'H' && buf[15] == 'D') + if (DM_BE32_TO_NATIVE(*(Uint32 *) (buf + 12)) == IFF_ID_BMHD) return DM_PROBE_SCORE_MAX; else return DM_PROBE_SCORE_GOOD;