[Libreoffice-commits] core.git: connectivity/source
Eike Rathke (via logerrit)
logerrit at kemper.freedesktop.org
Wed Jun 12 20:50:33 UTC 2019
connectivity/source/drivers/dbase/DTable.cxx | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
New commits:
commit 1436d2307d90f5ddbdcb0f129e59544306530342
Author: Eike Rathke <erack at redhat.com>
AuthorDate: Wed Jun 12 17:14:10 2019 +0200
Commit: Eike Rathke <erack at redhat.com>
CommitDate: Wed Jun 12 22:49:06 2019 +0200
Resolves: tdf#125878 correct calculation of H:M:S from timestamp
This apparently has been wrong since the beginning in 2009.
It's a somewhat odd algorithm anyway, first calculating the time
in seconds, minutes and hours, but maybe there's a reason
regarding rounding, so not changing that.
Change-Id: I855d2c96094b4edb1095d20bcdfebdea6d6d943a
Reviewed-on: https://gerrit.libreoffice.org/73893
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins
diff --git a/connectivity/source/drivers/dbase/DTable.cxx b/connectivity/source/drivers/dbase/DTable.cxx
index f5dd3b61fcd2..681eb44a260d 100644
--- a/connectivity/source/drivers/dbase/DTable.cxx
+++ b/connectivity/source/drivers/dbase/DTable.cxx
@@ -186,8 +186,9 @@ void lcl_CalDate(sal_Int32 _nJulianDate,sal_Int32 _nJulianTime,css::util::DateTi
double d_m = d_s / 60.0;
double d_h = d_m / 60.0;
_rDateTime.Hours = static_cast<sal_uInt16>(d_h);
- _rDateTime.Minutes = static_cast<sal_uInt16>(d_m);
- _rDateTime.Seconds = static_cast<sal_uInt16>(( d_m - static_cast<double>(_rDateTime.Minutes) ) * 60.0);
+ _rDateTime.Minutes = static_cast<sal_uInt16>((d_h - static_cast<double>(_rDateTime.Hours)) * 60.0);
+ _rDateTime.Seconds = static_cast<sal_uInt16>(((d_m - static_cast<double>(_rDateTime.Minutes)) * 60.0)
+ - (static_cast<double>(_rDateTime.Hours) * 3600.0));
}
}
More information about the Libreoffice-commits
mailing list