testing: parser
[awesomized/libmemcached] / test / lib / env.hpp
1 #pragma once
2
3 #include "mem_config.h"
4
5 #include <cstdlib>
6
7 #if HAVE_SETENV
8 # define SET_ENV_EX(n, k, v, overwrite) setenv(k, v, (overwrite))
9 #else // !HAVE_SETENV
10 # define SET_ENV_EX(n, k, v, overwrite) do { \
11 static char n ## _env[] = k "=" v; \
12 if ((overwrite) || !getenv(k)) { \
13 putenv(n ## _env); \
14 } \
15 } while(false)
16 #endif
17
18 #define SET_ENV(symbolic_name, literal_env_var, literal_env_val) \
19 SET_ENV_EX(symbolic_name, literal_env_var, literal_env_val, true)