summaryrefslogtreecommitdiffstats
path: root/src/util/debug.c
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2018-11-09 13:28:36 -0500
committerRob Clark <[email protected]>2018-11-27 15:44:02 -0500
commita321f939f648e25d7730507d7e60bb17c34d6e6e (patch)
treeff6f668108327b8d254cac714b480e9972565235 /src/util/debug.c
parentbfd8d2637266cf4678eb866a82f49b4905ba8cdc (diff)
util: env_var_as_unsigned() helper
So I can drop env2u() helper from freedreno_util.h and get rid of one small ir3 dependency on gallium/freedreno Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/util/debug.c')
-rw-r--r--src/util/debug.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/util/debug.c b/src/util/debug.c
index 98b1853325d..2773b55cc4d 100644
--- a/src/util/debug.c
+++ b/src/util/debug.c
@@ -21,6 +21,7 @@
* IN THE SOFTWARE.
*/
+#include <errno.h>
#include <string.h>
#include "main/macros.h"
#include "debug.h"
@@ -76,3 +77,22 @@ env_var_as_boolean(const char *var_name, bool default_value)
return default_value;
}
}
+
+/**
+ * Reads an environment variable and interprets its value as a unsigned.
+ */
+unsigned
+env_var_as_unsigned(const char *var_name, unsigned default_value)
+{
+ char *str = getenv(var_name);
+ if (str) {
+ char *end;
+ unsigned long result;
+
+ errno = 0;
+ result = strtoul(str, &end, 0);
+ if (errno == 0 && end != str && *end == '\0')
+ return result;
+ }
+ return default_value;
+}