summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2020-08-07 15:59:49 +0200
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2020-12-28 10:11:57 +0900
commit2d0171e95636eead0c7d26d8bef99f451ab3e20d (patch)
tree85717b3b11b0252bd0fe2c098dc76c88f7f03250
parent15cad965eb75c8b7f11bc2fc94354d1873bf6261 (diff)
Fix segfault when time_t is 64bit on 32bit arch (#1666)
On some platforms, like with musl libc, time_t may be 64 bit even on 32bit platforms. Fix segfault by convert time_t to 64 bit and use 64bit format modifier instead of assume time_t is %ld
-rw-r--r--src/ServerStat.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/ServerStat.cc b/src/ServerStat.cc
index d35407dc..eb2e17ee 100644
--- a/src/ServerStat.cc
+++ b/src/ServerStat.cc
@@ -183,11 +183,12 @@ bool ServerStat::operator==(const ServerStat& serverStat) const
std::string ServerStat::toString() const
{
return fmt("host=%s, protocol=%s, dl_speed=%d, sc_avg_speed=%d,"
- " mc_avg_speed=%d, last_updated=%ld, counter=%d, status=%s",
+ " mc_avg_speed=%d, last_updated=%" PRId64
+ ", counter=%d, status=%s",
getHostname().c_str(), getProtocol().c_str(), getDownloadSpeed(),
getSingleConnectionAvgSpeed(), getMultiConnectionAvgSpeed(),
- getLastUpdated().getTimeFromEpoch(), getCounter(),
- STATUS_STRING[getStatus()]);
+ static_cast<int64_t>(getLastUpdated().getTimeFromEpoch()),
+ getCounter(), STATUS_STRING[getStatus()]);
}
} // namespace aria2