Skip to content

Commit 10a968d

Browse files
committed
More robust conversions.
1 parent 3b67230 commit 10a968d

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

libc-test/test/makedev.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,16 @@ mod t {
2323
fn compare(major: c_uint, minor: c_uint) {
2424
let dev = unsafe { makedev_ffi(major, minor) };
2525
assert_eq!(libc::makedev(major, minor), dev);
26-
let major = unsafe { major_ffi(dev) };
27-
let minor = unsafe { minor_ffi(dev) };
28-
assert_eq!(libc::major(dev), major.try_into().expect("Conversion should succeed"));
29-
assert_eq!(libc::minor(dev), minor.try_into().expect("Conversion should succeed"));
26+
let expected_major = unsafe { major_ffi(dev) };
27+
let expected_minor = unsafe { minor_ffi(dev) };
28+
let expected_major_i64: i64 = expected_major.try_into().unwrap();
29+
let expected_minor_i64: i64 = expected_minor.try_into().unwrap();
30+
let actual_major = libc::major(dev);
31+
let actual_minor = libc::minor(dev);
32+
let actual_major_i64: i64 = actual_major.try_into().unwrap();
33+
let actual_minor_i64: i64 = actual_minor.try_into().unwrap();
34+
assert_eq!(actual_major_i64, expected_major_i64);
35+
assert_eq!(actual_minor_i64, expected_minor_i64);
3036
}
3137

3238
// Every OS should be able to handle 8 bit major and minor numbers

0 commit comments

Comments
 (0)