From 6f7399ceee320bab04003b7b7e07a42bac8a0804 Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Tue, 15 Dec 2015 16:15:59 +0300 Subject: setenv support for MSVC. --- std/cstdlib.hpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'std/cstdlib.hpp') diff --git a/std/cstdlib.hpp b/std/cstdlib.hpp index e119843d52..8268726dcf 100644 --- a/std/cstdlib.hpp +++ b/std/cstdlib.hpp @@ -1,11 +1,26 @@ #pragma once +#include "target_os.hpp" + #ifdef new #undef new #endif #include +// setenv is absent in MSVC. +#ifdef OMIM_OS_WINDOWS_NATIVE +#include // Need it for snprintf. +inline int setenv(char const * name, char const * value, int /*overwrite*/) +{ + char buffer[255]; + int const err = ::snprintf(buffer, sizeof(buffer), "%s=%s", name, value); + if (err < 0 || err >= sizeof(buffer)) + return -1; + return ::_putenv(buffer); +} +#endif + #ifdef DEBUG_NEW #define new DEBUG_NEW #endif -- cgit v1.2.3