From patchwork Thu Jul 1 10:47:49 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: win32: Add missing function setenv Date: Thu, 01 Jul 2010 00:47:49 -0000 From: Stefan Weil X-Patchwork-Id: 57532 Message-Id: <1277981269-751-1-git-send-email-weil@mail.berlios.de> To: QEMU Developers Cc: 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 --- os-win32.c | 15 +++++++++++++++ osdep.h | 2 ++ 2 files changed, 17 insertions(+), 0 deletions(-) diff --git a/os-win32.c b/os-win32.c index d98fd77..dd46bf4 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 75b5816..1cdc7e2 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;