diff options
author | Lennart Poettering <lennart@poettering.net> | 2014-03-03 21:23:12 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2014-03-03 21:23:12 +0100 |
commit | 4d7213b2747ddd87002f970ccc60b1a9ab637136 (patch) | |
tree | ddae01aaddd7530bc119ace060c467009da4a1f2 /src/core | |
parent | ca37242e52cbf90d6cdb3b26b2986b11ed1d5e91 (diff) |
core: move ShowStatus type into the core
Let's make the scope of the show-status stuff a bit smaller, and make it
private to the core, rather than shared API in shared/.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/main.c | 51 | ||||
-rw-r--r-- | src/core/manager.h | 1 |
2 files changed, 42 insertions, 10 deletions
diff --git a/src/core/main.c b/src/core/main.c index 71ec607dec..4ca847c781 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -468,16 +468,17 @@ DEFINE_SETTER(config_parse_target, log_set_target_from_string, "target") DEFINE_SETTER(config_parse_color, log_show_color_from_string, "color" ) DEFINE_SETTER(config_parse_location, log_show_location_from_string, "location") -static int config_parse_cpu_affinity2(const char *unit, - const char *filename, - unsigned line, - const char *section, - unsigned section_line, - const char *lvalue, - int ltype, - const char *rvalue, - void *data, - void *userdata) { +static int config_parse_cpu_affinity2( + const char *unit, + const char *filename, + unsigned line, + const char *section, + unsigned section_line, + const char *lvalue, + int ltype, + const char *rvalue, + void *data, + void *userdata) { char *w; size_t l; @@ -524,6 +525,36 @@ static int config_parse_cpu_affinity2(const char *unit, return 0; } +static int config_parse_show_status( + const char* unit, + const char *filename, + unsigned line, + const char *section, + unsigned section_line, + const char *lvalue, + int ltype, + const char *rvalue, + void *data, + void *userdata) { + + int k; + ShowStatus *b = data; + + assert(filename); + assert(lvalue); + assert(rvalue); + assert(data); + + k = parse_show_status(rvalue, b); + if (k < 0) { + log_syntax(unit, LOG_ERR, filename, line, -k, + "Failed to parse show status setting, ignoring: %s", rvalue); + return 0; + } + + return 0; +} + static void strv_free_free(char ***l) { char ***i; diff --git a/src/core/manager.h b/src/core/manager.h index 3192b63dfd..92985caefb 100644 --- a/src/core/manager.h +++ b/src/core/manager.h @@ -58,6 +58,7 @@ typedef enum ManagerExitCode { #include "execute.h" #include "unit-name.h" #include "exit-status.h" +#include "show-status.h" struct Manager { /* Note that the set of units we know of is allowed to be |