util: move brw_env_var_as_boolean() to util
Kind of a handy function. And I'll want it available outside of i965 for common nir-pass helpers. Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Nicolai Hähnle <nhaehnle@gmail.com>
This commit is contained in:
@@ -51,3 +51,28 @@ parse_debug_string(const char *debug,
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads an environment variable and interprets its value as a boolean.
|
||||
*
|
||||
* Recognizes 0/false/no and 1/true/yes. Other values result in the default value.
|
||||
*/
|
||||
bool
|
||||
env_var_as_boolean(const char *var_name, bool default_value)
|
||||
{
|
||||
const char *str = getenv(var_name);
|
||||
if (str == NULL)
|
||||
return default_value;
|
||||
|
||||
if (strcmp(str, "1") == 0 ||
|
||||
strcasecmp(str, "true") == 0 ||
|
||||
strcasecmp(str, "yes") == 0) {
|
||||
return true;
|
||||
} else if (strcmp(str, "0") == 0 ||
|
||||
strcasecmp(str, "false") == 0 ||
|
||||
strcasecmp(str, "no") == 0) {
|
||||
return false;
|
||||
} else {
|
||||
return default_value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,6 +38,8 @@ struct debug_control {
|
||||
uint64_t
|
||||
parse_debug_string(const char *debug,
|
||||
const struct debug_control *control);
|
||||
bool
|
||||
env_var_as_boolean(const char *var_name, bool default_value);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern C */
|
||||
|
||||
Reference in New Issue
Block a user