@@ -168,7 +168,7 @@ unsafe fn copy_bytes<'a, 'b, T: ?Sized>(src: &T, dst: &'a mut &'b mut [u8]) {
168
168
}
169
169
170
170
171
- use self :: ffi:: { cmsghdr, msghdr, type_of_cmsg_len, type_of_cmsg_data} ;
171
+ use self :: ffi:: { cmsghdr, msghdr, type_of_cmsg_len, type_of_cmsg_data, type_of_msg_iovlen } ;
172
172
173
173
/// A structure used to make room in a cmsghdr passed to recvmsg. The
174
174
/// size and alignment match that of a cmsghdr followed by a T, but the
@@ -235,6 +235,7 @@ impl<'a> Iterator for CmsgIterator<'a> {
235
235
236
236
// Advance our internal pointer.
237
237
if cmsg_align ( cmsg_len) > buf. len ( ) {
238
+ println ! ( "cmsg_align(cmsg_len) > buf.len(): {} > {}" , cmsg_align( cmsg_len) , buf. len( ) ) ;
238
239
return None ;
239
240
}
240
241
self . 0 = & buf[ cmsg_align ( cmsg_len) ..] ;
@@ -370,9 +371,9 @@ pub fn sendmsg<'a>(fd: RawFd, iov: &[IoVec<&'a [u8]>], cmsgs: &[ControlMessage<'
370
371
msg_name : name as * const c_void ,
371
372
msg_namelen : namelen,
372
373
msg_iov : iov. as_ptr ( ) ,
373
- msg_iovlen : iov. len ( ) as size_t ,
374
+ msg_iovlen : iov. len ( ) as type_of_msg_iovlen ,
374
375
msg_control : cmsg_ptr,
375
- msg_controllen : capacity as size_t ,
376
+ msg_controllen : capacity as type_of_cmsg_len ,
376
377
msg_flags : 0 ,
377
378
} ;
378
379
let ret = unsafe { ffi:: sendmsg ( fd, & mhdr, flags. bits ( ) ) } ;
@@ -393,9 +394,9 @@ pub fn recvmsg<'a, T>(fd: RawFd, iov: &[IoVec<&mut [u8]>], cmsg_buffer: Option<&
393
394
msg_name : & mut address as * const _ as * const c_void ,
394
395
msg_namelen : mem:: size_of :: < sockaddr_storage > ( ) as socklen_t ,
395
396
msg_iov : iov. as_ptr ( ) as * const IoVec < & [ u8 ] > , // safe cast to add const-ness
396
- msg_iovlen : iov. len ( ) as size_t ,
397
+ msg_iovlen : iov. len ( ) as type_of_msg_iovlen ,
397
398
msg_control : msg_control as * const c_void ,
398
- msg_controllen : msg_controllen as size_t ,
399
+ msg_controllen : msg_controllen as type_of_cmsg_len ,
399
400
msg_flags : 0 ,
400
401
} ;
401
402
let ret = unsafe { ffi:: recvmsg ( fd, & mut mhdr, flags. bits ( ) ) } ;
0 commit comments