diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2015-01-30 09:49:55 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2015-02-01 17:22:31 -0500 |
commit | 615938651d3a4fd9253b08da00db22d451a8cef8 (patch) | |
tree | ece5452c971d831dc5367d02d9a796e8e31de43f /src/core/load-fragment.c | |
parent | 5ffa8c818120e35c89becd938d160235c069dd12 (diff) |
config_parse_set_status: put signals in the correct set
This was broken when the code was rearranged in "1e2fd62d70ff
core/load-fragment.c: correct argument sign and split up long lines"
Diffstat (limited to 'src/core/load-fragment.c')
-rw-r--r-- | src/core/load-fragment.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index 98794bfafb..90bf5634c8 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -3150,6 +3150,7 @@ int config_parse_set_status( FOREACH_WORD(word, l, rvalue, state) { _cleanup_free_ char *temp; int val; + Set **set; temp = strndup(word, l); if (!temp) @@ -3162,21 +3163,23 @@ int config_parse_set_status( if (val <= 0) { log_syntax(unit, LOG_ERR, filename, line, -val, "Failed to parse value, ignoring: %s", word); - return 0; + continue; } + set = &status_set->signal; } else { if (val < 0 || val > 255) { log_syntax(unit, LOG_ERR, filename, line, ERANGE, "Value %d is outside range 0-255, ignoring", val); continue; } + set = &status_set->status; } - r = set_ensure_allocated(&status_set->status, NULL); + r = set_ensure_allocated(set, NULL); if (r < 0) return log_oom(); - r = set_put(status_set->status, INT_TO_PTR(val)); + r = set_put(*set, INT_TO_PTR(val)); if (r < 0) { log_syntax(unit, LOG_ERR, filename, line, -r, "Unable to store: %s", word); |