From fce756402499fde2c6071e412f8ca2e19f4f47e3 Mon Sep 17 00:00:00 2001 From: Gareth Rees Date: Tue, 13 May 2014 09:32:06 +0100 Subject: [PATCH] Windows doesn't have setenv, so use _putenv_s. Copied from Perforce Change: 186060 ServerID: perforce.ravenbrook.com --- mps/code/testlib.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/mps/code/testlib.h b/mps/code/testlib.h index 9c197cae839..38a4c94bdab 100644 --- a/mps/code/testlib.h +++ b/mps/code/testlib.h @@ -68,6 +68,22 @@ #endif +/* setenv -- set environment variable + * + * Windows lacks setenv(), but _putenv_s() has similar functionality. + * + * + * This macro version may evaluate the name argument twice. + */ + +#if defined(MPS_OS_W3) + +#define setenv(name, value, overwrite) \ + (((overwrite) || !getenv(name)) ? _putenv_s(name, value) : 0) + +#endif + + /* ulongest_t -- longest unsigned integer type * * Define a longest unsigned integer type for testing, scanning, and