diff options
Diffstat (limited to 'src/common/utils.c')
-rw-r--r-- | src/common/utils.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/common/utils.c b/src/common/utils.c index 563d8ab..7065047 100644 --- a/src/common/utils.c +++ b/src/common/utils.c @@ -9,6 +9,7 @@ #define BC_STRING_CHUNK_SIZE 128 #include <string.h> +#include <strings.h> #include <stdarg.h> #include <stdbool.h> #include <stdlib.h> @@ -302,6 +303,31 @@ bc_str_find(const char *str, char c) } +bool +bc_str_to_bool(const char *str) +{ + if (str == NULL) + return false; + + if (0 == strcmp(str, "1")) + return true; + + if (0 == strcasecmp(str, "y")) + return true; + + if (0 == strcasecmp(str, "yes")) + return true; + + if (0 == strcasecmp(str, "true")) + return true; + + if (0 == strcasecmp(str, "on")) + return true; + + return false; +} + + void bc_strv_free(char **strv) { |