diff --git a/src/stdlib/SDL_stdlib.c b/src/stdlib/SDL_stdlib.c index 848a1fd05..22eab5b02 100644 --- a/src/stdlib/SDL_stdlib.c +++ b/src/stdlib/SDL_stdlib.c @@ -266,8 +266,11 @@ SDL_trunc(double x) #if defined(HAVE_TRUNC) return trunc(x); #else - /* !!! FIXME: there are more formal (correct!) ways to do this. */ - return (double) ((Sint64) x); + if (x >= 0.0f) { + return SDL_floor(x); + } else { + return SDL_ceil(x); + } #endif }