From 0a1574bb1347f856524014ef23cb2d686361075c Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Thu, 1 Jul 2010 00:47:49 +0000 Subject: [PATCH] win32: Add missing function setenv 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 Signed-off-by: Blue Swirl --- os-win32.c | 15 +++++++++++++++ osdep.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/os-win32.c b/os-win32.c index d98fd77c12..dd46bf459d 100644 --- a/os-win32.c +++ b/os-win32.c @@ -34,6 +34,21 @@ #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 */ typedef struct PollingEntry { diff --git a/osdep.h b/osdep.h index 75b581630f..1cdc7e2e3e 100644 --- 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; -- 2.11.4.GIT