aboutsummaryrefslogtreecommitdiff
path: root/common/util.c
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2018-07-23 15:04:46 -0400
committerFurkan Sahin <furkan-dev@proton.me>2018-07-23 15:04:46 -0400
commitdaaa4ad3b96dc9d6e720576e3e62099fe8d7b8ec (patch)
treeaaddd8ae854d1dde4b50cfd4ef470c1acf83b6ce /common/util.c
parentf9515af6777c27814b04f35d5544ad420c8daea9 (diff)
Switch to using a function to parse booleans
Diffstat (limited to 'common/util.c')
-rw-r--r--common/util.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/common/util.c b/common/util.c
index e8a88772..33a0c77e 100644
--- a/common/util.c
+++ b/common/util.c
@@ -123,6 +123,21 @@ uint32_t parse_color(const char *color) {
return res;
}
+bool parse_boolean(const char *boolean, const bool current) {
+ if (strcmp(boolean, "1") == 0
+ || strcmp(boolean, "yes") == 0
+ || strcmp(boolean, "on") == 0
+ || strcmp(boolean, "true") == 0
+ || strcmp(boolean, "enable") == 0
+ || strcmp(boolean, "enabled") == 0
+ || strcmp(boolean, "active") == 0) {
+ return true;
+ } else if (strcmp(boolean, "toggle") == 0) {
+ return !current;
+ }
+ return false;
+}
+
char* resolve_path(const char* path) {
struct stat sb;
ssize_t r;