#include <config.h>
+#if defined(_WIN32)
+#include <Windows.h>
+#endif
+
#include <math.h>
#include "file.h"
#include "game.h"
fmttime2822(time_t t)
{
static char buf[32];
- int n = strftime(buf, sizeof(buf), "%a, %d %b %Y %T %z",
+#if defined(_WIN32)
+ size_t n;
+ int nn;
+ TIME_ZONE_INFORMATION tzi;
+ long time_offset;
+ struct tm time;
+
+ localtime_s(&time, &t);
+
+ n = strftime(buf, sizeof(buf), "%a, %d %b %Y %H:%M:%S", &time);
+ if (CANT_HAPPEN(n == 0)) {
+ buf[0] = 0;
+ return buf;
+ }
+ GetTimeZoneInformation(&tzi);
+ time_offset = -(tzi.Bias +
+ (time.tm_isdst ? tzi.DaylightBias : tzi.StandardBias));
+
+ nn = _snprintf_s(buf + n, sizeof(buf) - n, sizeof(buf) - n -1,
+ " %+03d%02d", time_offset/60, abs(time_offset) % 60);
+ if (CANT_HAPPEN(nn <= 0))
+ buf[0] = 0;
+#else
+ size_t int n = strftime(buf, sizeof(buf), "%a, %d %b %Y %T %z",
localtime(&t));
if (CANT_HAPPEN(n == 0))
buf[0] = 0;
+#endif
return buf;
}