Fix overflow error

Numbers, why do we have to deal with such millenial details.

Also, lacking tests.
1 files changed, 6 insertions(+), 4 deletions(-)

M src/bin/brightctl.rs
M src/bin/brightctl.rs +6 -4
@@ 233,8 233,9 @@ fn set_brightness_dbus(cfg: &AppConfig) 
                             bright::dbus::DEVICE_IFACE, obj.path, e)
                     })?;
                 let val = match cfg.minimum {
-                    Some(min) => std::cmp::max(cur - n, min),
-                    None => cur - n
+                    Some(min) => std::cmp::max(cur as i32 - n as i32,
+                                               min as i32) as u32,
+                    None => std::cmp::max(cur as i32 - n as i32, 0) as u32
                 };
                 obj.set(bright::dbus::DEVICE_IFACE, "Brightness", val)
                     .map_err(|e| {

          
@@ 272,8 273,9 @@ fn set_brightness_direct(cfg: &AppConfig
             Action::Decr(n) => {
                 let cur = dev.get()?;
                 let val = match cfg.minimum {
-                    Some(min) => std::cmp::max(cur - n, min),
-                    None => cur - n
+                    Some(min) => std::cmp::max(cur as i32 - n as i32,
+                                               min as i32) as u32,
+                    None => std::cmp::max(cur as i32 - n as i32, 0) as u32
                 };
                 dev.decr(val)?;
             },