mirror of
https://github.com/encounter/SDL.git
synced 2025-05-29 02:31:27 +00:00
testevdev: Fix detection of word size
The check for whether to use a 32- or 64-bit swap for an array of long values always took the 64-bit path, because <limits.h> wasn't included and therefore ULONG_MAX wasn't defined. Turn this into a runtime check, which a reasonable compiler will optimize into a constant. This fixes testevdev failures on 32-bit big-endian platforms such as hppa and older powerpc. Little-endian and/or 64-bit platforms are unaffected. [smcv: Added commit message] Bug-Debian: https://bugs.debian.org/1021310 Co-authored-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
parent
e710440f58
commit
fb32effd15
@ -935,12 +935,8 @@ static const GuessTest guess_tests[] =
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#if ULONG_MAX == 0xFFFFFFFFUL
|
#define SwapLongLE(X) \
|
||||||
# define SwapLongLE(X) SDL_SwapLE32(X)
|
((sizeof(unsigned long) == 4) ? SDL_SwapLE32(X) : SDL_SwapLE64(X))
|
||||||
#else
|
|
||||||
/* assume 64-bit */
|
|
||||||
# define SwapLongLE(X) SDL_SwapLE64(X)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
run_test(void)
|
run_test(void)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user