From patchwork Tue Sep 11 07:28:29 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: win32: provide gmtime_r emulation From: Paolo Bonzini X-Patchwork-Id: 183038 Message-Id: <1347348509-23900-1-git-send-email-pbonzini@redhat.com> To: qemu-devel@nongnu.org Cc: sw@weilnetz.de Date: Tue, 11 Sep 2012 09:28:29 +0200 Windows has _s functions from C99 instead of _r functions from POSIX. Add an emulation shim. Signed-off-by: Paolo Bonzini --- Not tested beyond compilation. os-win32.c | 12 ++++++++++++ qemu-os-win32.h | 1 + 2 file modificati, 13 inserzioni(+) diff --git a/os-win32.c b/os-win32.c index 13892ba..beeded2 100644 --- a/os-win32.c +++ b/os-win32.c @@ -55,6 +55,18 @@ int setenv(const char *name, const char *value, int overwrite) return result; } +struct tm *gmtime_r(const time_t *timep, struct tm *result) +{ + int rc; + rc = _gmtime32_s(result, timep); + if (rc == 0) { + return result; + } else { + errno = rc; + return NULL; + } +} + static BOOL WINAPI qemu_ctrl_handler(DWORD type) { qemu_system_shutdown_request(); diff --git a/qemu-os-win32.h b/qemu-os-win32.h index 753679b..284cabb 100644 --- a/qemu-os-win32.h +++ b/qemu-os-win32.h @@ -79,6 +79,7 @@ static inline void os_set_proc_name(const char *dummy) {} #endif int setenv(const char *name, const char *value, int overwrite); +struct tm *gmtime_r(const time_t *timep, struct tm *result); typedef struct { long tv_sec;