Fix 64-bit timeval/timespec delta calculations

main
Brick 2021-11-02 22:17:41 +00:00 committed by Sam Lantinga
parent 6d5edfa733
commit 62629c2b5d
2 changed files with 3 additions and 3 deletions

View File

@ -61,7 +61,7 @@ SDL_GetTicks64(void)
} }
gettimeofday(&now, NULL); gettimeofday(&now, NULL);
return (((Uint64)(now.tv_sec-start.tv_sec)) * 1000) + (((Uint64) (now.tv_usec-start.tv_usec)) / 1000); return (Uint64) (((Sint64) (now.tv_sec - start.tv_sec) * 1000) + ((now.tv_usec - start.tv_usec) / 1000));
} }
Uint64 Uint64

View File

@ -117,7 +117,7 @@ SDL_GetTicks64(void)
#if HAVE_CLOCK_GETTIME #if HAVE_CLOCK_GETTIME
struct timespec now; struct timespec now;
clock_gettime(SDL_MONOTONIC_CLOCK, &now); clock_gettime(SDL_MONOTONIC_CLOCK, &now);
return (((Uint64) (now.tv_sec - start_ts.tv_sec)) * 1000) + (((Uint64) (now.tv_nsec - start_ts.tv_nsec)) / 1000000); return (Uint64) (((Sint64) (now.tv_sec - start_ts.tv_sec) * 1000) + ((now.tv_nsec - start_ts.tv_nsec) / 1000000));
#elif defined(__APPLE__) #elif defined(__APPLE__)
const uint64_t now = mach_absolute_time(); const uint64_t now = mach_absolute_time();
return (Uint64) ((((now - start_mach) * mach_base_info.numer) / mach_base_info.denom) / 1000000); return (Uint64) ((((now - start_mach) * mach_base_info.numer) / mach_base_info.denom) / 1000000);
@ -128,7 +128,7 @@ SDL_GetTicks64(void)
} }
gettimeofday(&now, NULL); gettimeofday(&now, NULL);
return (((Uint64) (now.tv_sec - start_tv.tv_sec)) * 1000) + (((Uint64) (now.tv_usec - start_tv.tv_usec)) / 1000); return (Uint64) (((Sint64) (now.tv_sec - start_tv.tv_sec) * 1000) + ((now.tv_usec - start_tv.tv_usec) / 1000));
} }
Uint64 Uint64