aboutsummaryrefslogtreecommitdiffstats
path: root/src/catch2/internal/catch_getenv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/catch2/internal/catch_getenv.cpp')
-rw-r--r--src/catch2/internal/catch_getenv.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/catch2/internal/catch_getenv.cpp b/src/catch2/internal/catch_getenv.cpp
new file mode 100644
index 0000000..a9a592c
--- /dev/null
+++ b/src/catch2/internal/catch_getenv.cpp
@@ -0,0 +1,37 @@
+
+// Copyright Catch2 Authors
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE.txt or copy at
+// https://www.boost.org/LICENSE_1_0.txt)
+
+// SPDX-License-Identifier: BSL-1.0
+
+#include <catch2/internal/catch_getenv.hpp>
+
+#include <catch2/internal/catch_platform.hpp>
+#include <catch2/internal/catch_compiler_capabilities.hpp>
+
+#include <cstdlib>
+
+namespace Catch {
+ namespace Detail {
+
+#if !defined (CATCH_CONFIG_GETENV)
+ char const* getEnv( char const* ) { return nullptr; }
+#else
+
+ char const* getEnv( char const* varName ) {
+# if defined( _MSC_VER )
+# pragma warning( push )
+# pragma warning( disable : 4996 ) // use getenv_s instead of getenv
+# endif
+
+ return std::getenv( varName );
+
+# if defined( _MSC_VER )
+# pragma warning( pop )
+# endif
+ }
+#endif
+} // namespace Detail
+} // namespace Catch