@@ -87,7 +87,11 @@ fn test_block_device_roundtrip() {
8787 fs:: create_dir ( & src_dir) . unwrap ( ) ;
8888 let dev_path = src_dir. join ( "myblock" ) ;
8989 let path_cstr = CString :: new ( dev_path. as_os_str ( ) . as_bytes ( ) ) . unwrap ( ) ;
90- let dev = libc:: makedev ( 8 , 0 ) ; // /dev/sda major=8, minor=0
90+ // makedev has different signatures on different platforms
91+ #[ cfg( target_os = "macos" ) ]
92+ let dev = libc:: makedev ( 8i32 , 0i32 ) ; // /dev/sda major=8, minor=0
93+ #[ cfg( not( target_os = "macos" ) ) ]
94+ let dev = libc:: makedev ( 8u32 , 0u32 ) ; // /dev/sda major=8, minor=0
9195 unsafe {
9296 let ret = libc:: mknod ( path_cstr. as_ptr ( ) , libc:: S_IFBLK | 0o660 , dev) ;
9397 if ret != 0 {
@@ -144,7 +148,11 @@ fn test_char_device_roundtrip() {
144148 fs:: create_dir ( & src_dir) . unwrap ( ) ;
145149 let dev_path = src_dir. join ( "mychar" ) ;
146150 let path_cstr = CString :: new ( dev_path. as_os_str ( ) . as_bytes ( ) ) . unwrap ( ) ;
147- let dev = libc:: makedev ( 1 , 3 ) ; // /dev/null major=1, minor=3
151+ // makedev has different signatures on different platforms
152+ #[ cfg( target_os = "macos" ) ]
153+ let dev = libc:: makedev ( 1i32 , 3i32 ) ; // /dev/null major=1, minor=3
154+ #[ cfg( not( target_os = "macos" ) ) ]
155+ let dev = libc:: makedev ( 1u32 , 3u32 ) ; // /dev/null major=1, minor=3
148156 unsafe {
149157 let ret = libc:: mknod ( path_cstr. as_ptr ( ) , libc:: S_IFCHR | 0o666 , dev) ;
150158 if ret != 0 {
0 commit comments