ff_i_envvar
System environment variable functions.
Read and normalise process environment variables.
-
string GetEnvironmentVariableAsBool(string sVarName, string sDefault = "F")
- Parameters:
sVarName – Name of the environment variable to read.
sDefault – Value returned when the variable is absent or unrecognised. Defaults to “F”.
Return “T”, “F” depending on value of env var.
Source code
// @code
#include "ff_i_string"
#include "nwnx_util"
// -----------------------------------------------------------------------------
// Private functions from ff_i_console to print the warning
int _envvar_IsATTY()
{
return NWNX_Util_GetTTY() == "" ? FALSE : TRUE;
}
string _envvar_GetConsoleColorString(string sString)
{
if (!_envvar_IsATTY())
return sString;
string CONSOLE_COLOR_YELLOW = "[01;33m";
string CONSOLE_COLOR_NONE = "[00m";
return GetASCIIEscape() + CONSOLE_COLOR_YELLOW
+ sString
+ GetASCIIEscape() + CONSOLE_COLOR_NONE;
}
void _envvar_LogWarning(string sMessage)
{
sMessage = _envvar_GetConsoleColorString(sMessage);
WriteTimestampedLogEntry(sMessage);
}
//! @brief Return "T", "F" depending on value of env var.
//! @param sVarName Name of the environment variable to read.
//! @param sDefault Value returned when the variable is absent or unrecognised. Defaults to "F".
string GetEnvironmentVariableAsBool(string sVarName, string sDefault = "F");
string GetEnvironmentVariableAsBool(string sVarName, string sDefault = "F")
{
string sValue = NWNX_Util_GetEnvironmentVariable(sVarName);
if (sValue == "")
return sDefault;
sValue = GetStringUpperCase(sValue);
if (sValue == "Y" || sValue == "YES" || sValue == "TRUE" || sValue == "T")
return "T";
if (sValue == "N" || sValue == "NO" || sValue == "FALSE" || sValue == "F")
return "F";
// We can't include ff_i_console because of circular dependency
if (sValue != "")
_envvar_LogWarning("warning: The environment variable '" + sVarName + "' has a non standard value (T,F, or unset)");
return sDefault;
}