From d5cf8f606c2e3fe2c08aea43940d7e29bbc18457 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Fri, 4 Sep 2020 14:33:30 +0200 Subject: [PATCH] tools/systemd/time: fix selection for multiple options if we give multiple options/ranges for a value, e.g. 2,4,8 we always choose the biggest, instead of the smallest that is next this happens because in DateTimeValue::find_next(value) 'next' can be set multiple times and we set it when the new value was *bigger* than the last found 'next' value, when in reality we have to choose the *smallest* next we can find reverse the comparison operator to fix this Signed-off-by: Dominik Csapak --- src/tools/systemd/time.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/systemd/time.rs b/src/tools/systemd/time.rs index c8cc8468..69f5f5fb 100644 --- a/src/tools/systemd/time.rs +++ b/src/tools/systemd/time.rs @@ -54,7 +54,7 @@ impl DateTimeValue { let mut next: Option = None; let mut set_next = |v: u32| { if let Some(n) = next { - if v > n { next = Some(v); } + if v < n { next = Some(v); } } else { next = Some(v); }