@@ -8,7 +8,7 @@ use crate::Result;
8
8
#[ cfg( feature = "fs" ) ]
9
9
use crate :: { fcntl:: OFlag , sys:: stat:: Mode } ;
10
10
use libc:: { self , c_int, c_void, off_t, size_t} ;
11
- use std:: os:: unix:: io:: RawFd ;
11
+ use std:: { os:: unix:: io:: RawFd , num :: NonZeroUsize } ;
12
12
13
13
libc_bitflags ! {
14
14
/// Desired memory protection of a memory mapping.
@@ -418,13 +418,13 @@ pub fn munlockall() -> Result<()> {
418
418
/// [`mmap(2)`]: https://man7.org/linux/man-pages/man2/mmap.2.html
419
419
pub unsafe fn mmap (
420
420
addr : * mut c_void ,
421
- length : size_t ,
421
+ length : NonZeroUsize ,
422
422
prot : ProtFlags ,
423
423
flags : MapFlags ,
424
424
fd : RawFd ,
425
425
offset : off_t ,
426
426
) -> Result < * mut c_void > {
427
- let ret = libc:: mmap ( addr, length, prot. bits ( ) , flags. bits ( ) , fd, offset) ;
427
+ let ret = libc:: mmap ( addr, length. into ( ) , prot. bits ( ) , flags. bits ( ) , fd, offset) ;
428
428
429
429
if ret == libc:: MAP_FAILED {
430
430
Err ( Errno :: last ( ) )
@@ -515,8 +515,9 @@ pub unsafe fn madvise(
515
515
/// # use nix::sys::mman::{mmap, mprotect, MapFlags, ProtFlags};
516
516
/// # use std::ptr;
517
517
/// const ONE_K: size_t = 1024;
518
+ /// let one_k_non_zero = std::num::NonZeroUsize::new(1024).unwrap();
518
519
/// let mut slice: &mut [u8] = unsafe {
519
- /// let mem = mmap(ptr::null_mut(), ONE_K , ProtFlags::PROT_NONE,
520
+ /// let mem = mmap(ptr::null_mut(), one_k_non_zero , ProtFlags::PROT_NONE,
520
521
/// MapFlags::MAP_ANON | MapFlags::MAP_PRIVATE, -1, 0).unwrap();
521
522
/// mprotect(mem, ONE_K, ProtFlags::PROT_READ | ProtFlags::PROT_WRITE).unwrap();
522
523
/// std::slice::from_raw_parts_mut(mem as *mut u8, ONE_K)
0 commit comments