X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fload-fragment.c;h=9438aa312bd1931535bd61cc95b460db36ca9c96;hp=10681307cfc2fe3d7d628a2f6dca6aa3faae590c;hb=c0d6e764d107a81a6439c41edbe92790623ed7de;hpb=ddfa5101a2e0d94571c10e2bbc7c38b60dc6cba1 diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index 10681307c..9438aa312 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -1516,14 +1516,17 @@ int config_parse_unit_condition_string( assert(rvalue); assert(data); - if ((trigger = rvalue[0] == '|')) + trigger = rvalue[0] == '|'; + if (trigger) rvalue++; - if ((negate = rvalue[0] == '!')) + negate = rvalue[0] == '!'; + if (negate) rvalue++; - if (!(c = condition_new(cond, rvalue, trigger, negate))) - return -ENOMEM; + c = condition_new(cond, rvalue, trigger, negate); + if (!c) + return log_oom(); LIST_PREPEND(Condition, conditions, u->conditions, c); return 0;