Fix inverted gettimeofday() return value handling

The gettimeofday function returns 0 for success, not for failure. As a
result of the inverted logic we were losing millisecond precision when
parsing incoming messages on non-HAVE_CLOCK_GETTIME systems (macOS).
This commit is contained in:
Tor Arne Vestbø
2016-07-05 17:40:53 +02:00
parent f76ab76c4a
commit 852c9832a0
2 changed files with 5 additions and 2 deletions

View File

@@ -96,11 +96,14 @@ TEST(UtilsTest, ServerTime) {
EXPECT_EQ("2011-10-19T16:40:51.620Z", str1);
timeval now;
if (!gettimeofday(&now, nullptr)) {
if (gettimeofday(&now, nullptr)) {
now.tv_sec = time(nullptr);
now.tv_usec = 0;
}
// Strip microseconds, server time is ms only
now.tv_usec = (now.tv_usec / 1000) * 1000;
CString str2 = CUtils::FormatServerTime(now);
timeval tv2 = CUtils::ParseServerTime(str2);
EXPECT_EQ(now.tv_sec, tv2.tv_sec);