mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-04 17:47:03 +03:00
compare: propagate errors of fnmatch() as errors
This commit is contained in:
parent
2e8fa6274d
commit
5f6b2d394b
@ -90,6 +90,7 @@ int version_or_fnmatch_compare(
|
||||
CompareOperator op,
|
||||
const char *a,
|
||||
const char *b) {
|
||||
int r;
|
||||
|
||||
switch (op) {
|
||||
|
||||
@ -100,10 +101,14 @@ int version_or_fnmatch_compare(
|
||||
return !streq_ptr(a, b);
|
||||
|
||||
case COMPARE_FNMATCH_EQUAL:
|
||||
return fnmatch(b, a, 0) != FNM_NOMATCH;
|
||||
r = fnmatch(b, a, 0);
|
||||
return r == 0 ? true :
|
||||
r == FNM_NOMATCH ? false : -EINVAL;
|
||||
|
||||
case COMPARE_FNMATCH_UNEQUAL:
|
||||
return fnmatch(b, a, 0) == FNM_NOMATCH;
|
||||
r = fnmatch(b, a, 0);
|
||||
return r == FNM_NOMATCH ? true:
|
||||
r == 0 ? false : -EINVAL;
|
||||
|
||||
case _COMPARE_OPERATOR_ORDER_FIRST..._COMPARE_OPERATOR_ORDER_LAST:
|
||||
return test_order(strverscmp_improved(a, b), op);
|
||||
|
Loading…
x
Reference in New Issue
Block a user