compare: move test_order() → compare-operator.[ch]

This commit is contained in:
Lennart Poettering
2022-09-01 23:15:14 +02:00
parent a8835c1190
commit 650c4c8707
3 changed files with 29 additions and 27 deletions
+27
View File
@@ -36,3 +36,30 @@ CompareOperator parse_compare_operator(const char **s, bool allow_fnmatch) {
return _COMPARE_OPERATOR_INVALID;
}
int test_order(int k, CompareOperator op) {
switch (op) {
case COMPARE_LOWER:
return k < 0;
case COMPARE_LOWER_OR_EQUAL:
return k <= 0;
case COMPARE_EQUAL:
return k == 0;
case COMPARE_UNEQUAL:
return k != 0;
case COMPARE_GREATER_OR_EQUAL:
return k >= 0;
case COMPARE_GREATER:
return k > 0;
default:
return -EINVAL;
}
}
+2
View File
@@ -37,3 +37,5 @@ static inline bool COMPARE_OPERATOR_IS_ORDER(CompareOperator c) {
}
CompareOperator parse_compare_operator(const char **s, bool allow_fnmatch);
int test_order(int k, CompareOperator op);
-27
View File
@@ -183,33 +183,6 @@ static int condition_test_credential(Condition *c, char **env) {
return false;
}
static bool test_order(int k, CompareOperator p) {
switch (p) {
case COMPARE_LOWER:
return k < 0;
case COMPARE_LOWER_OR_EQUAL:
return k <= 0;
case COMPARE_EQUAL:
return k == 0;
case COMPARE_UNEQUAL:
return k != 0;
case COMPARE_GREATER_OR_EQUAL:
return k >= 0;
case COMPARE_GREATER:
return k > 0;
default:
assert_not_reached();
}
}
static int condition_test_kernel_version(Condition *c, char **env) {
CompareOperator operator;
struct utsname u;