@@ -85,7 +85,7 @@ unsafe fn copy_bytes<'a, 'b, T: ?Sized>(src: &T, dst: &'a mut &'b mut [u8]) {
85
85
}
86
86
87
87
88
- use self :: ffi:: { cmsghdr, msghdr, type_of_cmsg_len, type_of_cmsg_data} ;
88
+ use self :: ffi:: { cmsghdr, msghdr, type_of_cmsg_len, type_of_cmsg_data, type_of_msg_iovlen } ;
89
89
90
90
/// A structure used to make room in a cmsghdr passed to recvmsg. The
91
91
/// size and alignment match that of a cmsghdr followed by a T, but the
@@ -152,6 +152,7 @@ impl<'a> Iterator for CmsgIterator<'a> {
152
152
153
153
// Advance our internal pointer.
154
154
if cmsg_align ( cmsg_len) > buf. len ( ) {
155
+ println ! ( "cmsg_align(cmsg_len) > buf.len(): {} > {}" , cmsg_align( cmsg_len) , buf. len( ) ) ;
155
156
return None ;
156
157
}
157
158
self . 0 = & buf[ cmsg_align ( cmsg_len) ..] ;
@@ -287,9 +288,9 @@ pub fn sendmsg<'a>(fd: RawFd, iov: &[IoVec<&'a [u8]>], cmsgs: &[ControlMessage<'
287
288
msg_name : name as * const c_void ,
288
289
msg_namelen : namelen,
289
290
msg_iov : iov. as_ptr ( ) ,
290
- msg_iovlen : iov. len ( ) as size_t ,
291
+ msg_iovlen : iov. len ( ) as type_of_msg_iovlen ,
291
292
msg_control : cmsg_ptr,
292
- msg_controllen : capacity as size_t ,
293
+ msg_controllen : capacity as type_of_cmsg_len ,
293
294
msg_flags : 0 ,
294
295
} ;
295
296
let ret = unsafe { ffi:: sendmsg ( fd, & mhdr, flags. bits ( ) ) } ;
@@ -310,9 +311,9 @@ pub fn recvmsg<'a, T>(fd: RawFd, iov: &[IoVec<&mut [u8]>], cmsg_buffer: Option<&
310
311
msg_name : & mut address as * const _ as * const c_void ,
311
312
msg_namelen : mem:: size_of :: < sockaddr_storage > ( ) as socklen_t ,
312
313
msg_iov : iov. as_ptr ( ) as * const IoVec < & [ u8 ] > , // safe cast to add const-ness
313
- msg_iovlen : iov. len ( ) as size_t ,
314
+ msg_iovlen : iov. len ( ) as type_of_msg_iovlen ,
314
315
msg_control : msg_control as * const c_void ,
315
- msg_controllen : msg_controllen as size_t ,
316
+ msg_controllen : msg_controllen as type_of_cmsg_len ,
316
317
msg_flags : 0 ,
317
318
} ;
318
319
let ret = unsafe { ffi:: recvmsg ( fd, & mut mhdr, flags. bits ( ) ) } ;
0 commit comments