mirror of
https://github.com/systemd/systemd.git
synced 2025-03-14 04:58:28 +03:00
condition: simplify condition_test_virtualization
Rewrite the function to be slightly simpler. In particular, if a specific match is found (like ConditionVirtualization=yes), simply return an answer immediately, instead of relying that "yes" will not be matched by any of the virtualization names below. No functional change.
This commit is contained in:
parent
d09f968657
commit
0809d7740c
@ -155,19 +155,15 @@ static int condition_test_virtualization(Condition *c) {
|
||||
|
||||
/* First, compare with yes/no */
|
||||
b = parse_boolean(c->parameter);
|
||||
|
||||
if (v > 0 && b > 0)
|
||||
return true;
|
||||
|
||||
if (v == 0 && b == 0)
|
||||
return true;
|
||||
if (b >= 0)
|
||||
return b == !!v;
|
||||
|
||||
/* Then, compare categorization */
|
||||
if (VIRTUALIZATION_IS_VM(v) && streq(c->parameter, "vm"))
|
||||
return true;
|
||||
if (streq(c->parameter, "vm"))
|
||||
return VIRTUALIZATION_IS_VM(v);
|
||||
|
||||
if (VIRTUALIZATION_IS_CONTAINER(v) && streq(c->parameter, "container"))
|
||||
return true;
|
||||
if (streq(c->parameter, "container"))
|
||||
return VIRTUALIZATION_IS_CONTAINER(v);
|
||||
|
||||
/* Finally compare id */
|
||||
return v != VIRTUALIZATION_NONE && streq(c->parameter, virtualization_to_string(v));
|
||||
|
Loading…
x
Reference in New Issue
Block a user