diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2019-06-26 16:23:18 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2019-06-27 10:54:37 +0200 |
commit | 9266f31e61b6b6bda7929911e8e3d2fc87587911 (patch) | |
tree | 4d119cfc7057b94e4e655aa9151c1ca3e02ae965 | |
parent | e3b52014e2b3e5cfa1ddc23828b14a9fce3507b3 (diff) | |
download | systemd-9266f31e61b6b6bda7929911e8e3d2fc87587911.tar.gz systemd-9266f31e61b6b6bda7929911e8e3d2fc87587911.tar.bz2 systemd-9266f31e61b6b6bda7929911e8e3d2fc87587911.zip |
core: skip whitespace after "|" and "!" in the condition parser
We'd skip any whitespace immediately after "=", but then we'd treat whitespace
that is between "|" or "!" and the value as significant. This is rather
confusing, let's ignore it too.
-rw-r--r-- | src/core/load-fragment.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index 8e8f26b636..d88b9317e9 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -2587,13 +2587,13 @@ int config_parse_unit_condition_string( return 0; } - trigger = rvalue[0] == '|'; + trigger = *rvalue == '|'; if (trigger) - rvalue++; + rvalue += 1 + strspn(rvalue + 1, WHITESPACE); - negate = rvalue[0] == '!'; + negate = *rvalue == '!'; if (negate) - rvalue++; + rvalue += 1 + strspn(rvalue + 1, WHITESPACE); r = unit_full_printf(u, rvalue, &s); if (r < 0) { |