]> git.proxmox.com Git - qemu.git/commitdiff
win32: Add missing function setenv
authorStefan Weil <weil@mail.berlios.de>
Thu, 1 Jul 2010 00:47:49 +0000 (00:47 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Sun, 15 Aug 2010 09:45:28 +0000 (09:45 +0000)
Mingw32 does not provide a declaration and implementation of function
setenv (which is used in sdl.c), so this patch adds both.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
os-win32.c
osdep.h

index d98fd77c12b04107383e10a33d73ef10897402bc..dd46bf459db4a150d2866468fa2c9bc1adb8a885 100644 (file)
 #include "sysemu.h"
 #include "qemu-options.h"
 
+/***********************************************************/
+/* Functions missing in mingw */
+
+int setenv(const char *name, const char *value, int overwrite)
+{
+    int result = 0;
+    if (overwrite || !getenv(name)) {
+        size_t length = strlen(name) + strlen(value) + 2;
+        char *string = qemu_malloc(length);
+        snprintf(string, length, "%s=%s", name, value);
+        result = putenv(string);
+    }
+    return result;
+}
+
 /***********************************************************/
 /* Polling handling */
 
diff --git a/osdep.h b/osdep.h
index 75b581630f2a26e7c374884f7b8b700232d5eca3..1cdc7e2e3ee59dbdd1c313e5d5e675cfc220de51 100644 (file)
--- a/osdep.h
+++ b/osdep.h
@@ -95,6 +95,8 @@ int qemu_create_pidfile(const char *filename);
 #ifdef _WIN32
 int ffs(int i);
 
+int setenv(const char *name, const char *value, int overwrite);
+
 typedef struct {
     long tv_sec;
     long tv_usec;