tb.time is a time value, but not necessarily of the same size as time_t: while time_t is 64 bit for w64, tb.time still is 32 bit only.
Therefore we need en explicit conversion. Signed-off-by: Stefan Weil <s...@weilnetz.de> --- savevm.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/savevm.c b/savevm.c index 12fb209..2d18bab 100644 --- a/savevm.c +++ b/savevm.c @@ -2106,7 +2106,8 @@ void do_savevm(Monitor *mon, const QDict *qdict) } } else { #ifdef _WIN32 - ptm = localtime(&tb.time); + time_t t = tb.time; + ptm = localtime(&t); strftime(sn->name, sizeof(sn->name), "vm-%Y%m%d%H%M%S", ptm); #else /* cast below needed for OpenBSD where tv_sec is still 'long' */ -- 1.7.0.4