diff options
Diffstat (limited to 'common/strutils.cpp')
-rw-r--r-- | common/strutils.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/common/strutils.cpp b/common/strutils.cpp new file mode 100644 index 00000000..0163de7b --- /dev/null +++ b/common/strutils.cpp @@ -0,0 +1,27 @@ + +#include "config.h" + +#include "strutils.h" + +#include <cstdlib> + + +namespace al { + +al::optional<std::string> getenv(const char *envname) +{ + const char *str{std::getenv(envname)}; + if(str && str[0] != '\0') return str; + return al::nullopt; +} + +#ifdef _WIN32 +al::optional<std::wstring> getenv(const WCHAR *envname) +{ + const WCHAR *str{_wgetenv(envname)}; + if(str && str[0] != L'\0') return str; + return al::nullopt; +} +#endif + +} // namespace al |