From bf85a00d58b82678f123d2340c3e8ec075e972d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Van=20Canneyt?= Date: Fri, 22 Dec 2023 11:32:57 +0100 Subject: [PATCH] * Fix wrong TimeStampToMSecs result on 32-bit. Fixes issue #40522 (cherry picked from commit ed000e6cd7fcb5f8cc5babe15c43ffe572670396) --- rtl/objpas/sysutils/dati.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rtl/objpas/sysutils/dati.inc b/rtl/objpas/sysutils/dati.inc index 1177224848..1a6c31269b 100644 --- a/rtl/objpas/sysutils/dati.inc +++ b/rtl/objpas/sysutils/dati.inc @@ -95,7 +95,8 @@ end; function TimeStampToMSecs(const TimeStamp: TTimeStamp): Int64; begin - result := TimeStamp.Time + timestamp.date * msecsperday; + // Int64() typecast fixes issues 40522 and 40568 on 32-bit. + result := TimeStamp.Time + Int64(timestamp.date) * msecsperday; end; Function TryEncodeDate(Year,Month,Day : Word; Out Date : TDateTime) : Boolean;