diff options
Diffstat (limited to 'src/config.c')
| -rw-r--r-- | src/config.c | 56 |
1 files changed, 22 insertions, 34 deletions
diff --git a/src/config.c b/src/config.c index 1d369c4..a042102 100644 --- a/src/config.c +++ b/src/config.c @@ -5,13 +5,14 @@ #include <stdlib.h> #include <string.h> +#include <strings.h> #include <unistd.h> /******************************************************************************/ /* Type conversions */ -inline const char *archiving_to_string(enum sk_archiving_mode a) { +const char *sk_archiving_mode_to_string(enum sk_archiving_mode a) { switch (a) { case SK_ARCHIVING_NONE: return "none"; @@ -28,19 +29,15 @@ inline const char *archiving_to_string(enum sk_archiving_mode a) { } } -inline enum sk_colour_output string_to_colour_output(const char *in) { - if (!strcmp(in, "always")) { - return SK_COLOUR_ALWAYS; - } else if (!strcmp(in, "never")) { - return SK_COLOUR_NEVER; - } else if (!strcmp(in, "auto")) { - return SK_COLOUR_AUTO; - } else { - return SK_COLOUR_NEVER; +enum sk_archiving_mode sk_archiving_mode_of_string(const char *s) { + for (enum sk_archiving_mode a = SK_ARCHIVING_MIN; a <= SK_ARCHIVING_MAX; ++a) { + if (!strcasecmp(s, sk_archiving_mode_to_string(a))) + return a; } + return SK_ARCHIVING_NONE; } -inline const char *colour_output_to_string(enum sk_colour_output c) { +const char *sk_colour_output_to_string(enum sk_colour_output c) { switch (c) { case SK_COLOUR_NEVER: return "never"; @@ -53,24 +50,15 @@ inline const char *colour_output_to_string(enum sk_colour_output c) { } } -inline const char *verbosity_to_string(enum sk_log_verb v) { - switch (v) { - case LOG_OFF: - return "off"; - case LOG_ERROR: - return "error"; - case LOG_WARNING: - return "warning"; - case LOG_INFO: - return "info"; - case LOG_VERBOSE: - return "verbose"; - case LOG_DEBUG: - return "debug"; - case LOG_TRACE: - return "trace"; - default: - return NULL; +enum sk_colour_output sk_colour_output_of_string(const char *s) { + if (!strcasecmp(s, "always")) { + return SK_COLOUR_ALWAYS; + } else if (!strcasecmp(s, "never")) { + return SK_COLOUR_NEVER; + } else if (!strcasecmp(s, "auto")) { + return SK_COLOUR_AUTO; + } else { + return SK_COLOUR_NEVER; } } @@ -90,7 +78,7 @@ static struct sk_config sk_config_defaults = { .remote_exec = "ssh -o User=root", .inventory_dir = "manifest/inventory", .jobs = 1, - .verbosity_level = LOG_INFO, + .verbosity_level = SK_LOG_INFO, .archiving = SK_ARCHIVING_NONE, .save_output_streams = true, .log_timestamp = false @@ -159,15 +147,15 @@ void sk_config_print(struct sk_config *config, FILE *outstream) { config->global.remote_shell, config->global.cache_path_pattern, conf_dir_str, - colour_output_to_string(config->global.coloured_output), + sk_colour_output_to_string(config->global.coloured_output), config->global.init_manifest, config->global.out_path, config->global.remote_out_path, config->global.remote_exec, config->global.inventory_dir, config->global.jobs, - verbosity_to_string(config->global.verbosity_level), - archiving_to_string(config->global.archiving), + sk_log_level_to_string(config->global.verbosity_level), + sk_archiving_mode_to_string(config->global.archiving), boolstr(config->global.save_output_streams), boolstr(config->global.log_timestamp) ); @@ -263,7 +251,7 @@ inline searchpath_t _searchpath_conf(const char *in) { return (searchpath_t)buf; } -#define _colour_conf(c) string_to_colour_output(c) +#define _colour_conf(c) sk_colour_output_of_string(c) /* if the envonment variable is set, always disable coloured output, not matter * its value */ |
