qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] win32: provide gmtime_r emulation


From: Paolo Bonzini
Subject: [Qemu-devel] [PATCH] win32: provide gmtime_r emulation
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 <address@hidden>
---
        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;
-- 
1.7.11.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]