]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared/condition: fix printing of ConditionNull=
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 26 Jun 2019 14:21:34 +0000 (16:21 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 27 Jun 2019 08:54:37 +0000 (10:54 +0200)
ConditionNull= is the only condition where parameter==NULL is allowed,
and we'd print ConditionNull=(null) or ConditionNull=!(null).

src/shared/condition.c

index 2d521bc8c69aa0c277e7c02f1cffce7e7bdc2f5c..70ede533c016e3dc0a2c3fa13fe2d06bb06e7f13 100644 (file)
@@ -747,20 +747,23 @@ bool condition_test_list(Condition *first, const char *(*to_string)(ConditionTyp
                 r = condition_test(c);
 
                 if (logger) {
+                        const char *p = c->type == CONDITION_NULL ? "true" : c->parameter;
+                        assert(p);
+
                         if (r < 0)
                                 logger(userdata, LOG_WARNING, r, __FILE__, __LINE__, __func__,
                                        "Couldn't determine result for %s=%s%s%s, assuming failed: %m",
                                        to_string(c->type),
                                        c->trigger ? "|" : "",
                                        c->negate ? "!" : "",
-                                       c->parameter);
+                                       p);
                         else
                                 logger(userdata, LOG_DEBUG, 0, __FILE__, __LINE__, __func__,
                                        "%s=%s%s%s %s.",
                                        to_string(c->type),
                                        c->trigger ? "|" : "",
                                        c->negate ? "!" : "",
-                                       c->parameter,
+                                       p,
                                        condition_result_to_string(c->result));
                 }