Buttplug sex toy control library

fix: Position scaled value shouldn't treat 0 as special

Otherwise we get issues with reduced ranges.

+1 -3
+1 -3
crates/buttplug_server_device_config/src/server_device_feature.rs
··· 198 } else { 199 self.position.internal_base() 200 }; 201 - if value > 0 && range.contains(&(range.start() + value)) { 202 if self.reverse_position { 203 Ok(range.end() - value) 204 } else { 205 Ok(range.start() + value) 206 } 207 - } else if value == 0 { 208 - Ok(0) 209 } else { 210 Err(ButtplugDeviceConfigError::InvalidOutputValue( 211 value as i32,
··· 198 } else { 199 self.position.internal_base() 200 }; 201 + if range.contains(&(range.start() + value)) { 202 if self.reverse_position { 203 Ok(range.end() - value) 204 } else { 205 Ok(range.start() + value) 206 } 207 } else { 208 Err(ButtplugDeviceConfigError::InvalidOutputValue( 209 value as i32,