Skip to content

Commit 6466260

Browse files
committed
linux-native: clean up a few lints
Mostly around being able to early-return on missing data.
1 parent ad381b1 commit 6466260

File tree

1 file changed

+8
-24
lines changed

1 file changed

+8
-24
lines changed

src/linux_native.rs

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -85,29 +85,19 @@ fn device_to_hid_device_info(raw_device: &udev::Device) -> Option<Vec<DeviceInfo
8585
_ => return None,
8686
};
8787

88-
let (bus, vid, pid) = match device
88+
let (bus, vid, pid) = device
8989
.property_value("HID_ID")
9090
.and_then(|s| s.to_str())
91-
.and_then(parse_hid_vid_pid)
92-
{
93-
Some(t) => t,
94-
None => return None,
95-
};
91+
.and_then(parse_hid_vid_pid)?;
9692
let bus_type = match bus {
9793
BUS_USB => BusType::Usb,
9894
BUS_BLUETOOTH => BusType::Bluetooth,
9995
BUS_I2C => BusType::I2c,
10096
BUS_SPI => BusType::Spi,
10197
_ => return None,
10298
};
103-
let name = match device.property_value("HID_NAME") {
104-
Some(name) => name,
105-
None => return None,
106-
};
107-
let serial = match device.property_value("HID_UNIQ") {
108-
Some(serial) => serial,
109-
None => return None,
110-
};
99+
let name = device.property_value("HID_NAME")?;
100+
let serial = device.property_value("HID_UNIQ")?;
111101
let path = match raw_device
112102
.devnode()
113103
.map(|p| p.as_os_str().to_os_string().into_vec())
@@ -244,10 +234,7 @@ impl<'a> Iterator for UsageIterator<'a> {
244234
type Item = (u16, u16);
245235

246236
fn next(&mut self) -> Option<Self::Item> {
247-
let (usage_page, page) = match next_hid_usage(&mut self.cursor, self.usage_page) {
248-
Some(n) => n,
249-
None => return None,
250-
};
237+
let (usage_page, page) = next_hid_usage(&mut self.cursor, self.usage_page)?;
251238

252239
self.usage_page = usage_page;
253240
Some((usage_page, page))
@@ -267,10 +254,7 @@ fn next_hid_usage(cursor: &mut Cursor<&Vec<u8>>, mut usage_page: u16) -> Option<
267254
let position = cursor.position() - 1;
268255
let key_cmd = key & 0xfc;
269256

270-
let (data_len, key_size) = match hid_item_size(key, cursor) {
271-
Some(v) => v,
272-
None => return None,
273-
};
257+
let (data_len, key_size) = hid_item_size(key, cursor)?;
274258

275259
match key_cmd {
276260
// Usage Page 6.2.2.7 (Global)
@@ -468,7 +452,7 @@ impl HidDevice {
468452
})
469453
}
470454

471-
fn info(&self) -> HidResult<Ref<DeviceInfo>> {
455+
fn info(&self) -> HidResult<Ref<'_, DeviceInfo>> {
472456
if self.info.borrow().is_none() {
473457
let info = self.get_device_info()?;
474458
self.info.replace(Some(info));
@@ -480,7 +464,7 @@ impl HidDevice {
480464
}
481465

482466
impl AsFd for HidDevice {
483-
fn as_fd(&self) -> BorrowedFd {
467+
fn as_fd(&self) -> BorrowedFd<'_> {
484468
self.fd.as_fd()
485469
}
486470
}

0 commit comments

Comments
 (0)