From: Zbigniew Jędrzejewski-Szmek Date: Wed, 26 Jun 2019 14:23:18 +0000 (+0200) Subject: core: skip whitespace after "|" and "!" in the condition parser X-Git-Tag: v243-rc1~222^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F12889%2Fhead;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index 8e8f26b6367..d88b9317e91 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) {