Fix build on platforms with TIOCGWINSZ / ioctl() integer type mismatch.

This commit is contained in:
Thomas Zander 2021-05-29 14:19:40 +02:00
parent 00bbe2b0f8
commit 09d12f8cbd
No known key found for this signature in database
GPG Key ID: 856D8ED47C7EAFA5
2 changed files with 12 additions and 2 deletions

View File

@ -45,7 +45,13 @@ pub(crate) fn get_terminal_size_using_fd(fd: RawFd) -> PositionAndSize {
ws_ypixel: 0,
};
unsafe { ioctl(fd, TIOCGWINSZ, &mut winsize) };
// TIOCGWINSZ is an u32, but the second argument to ioctl is u64 on
// some platforms. When checked on Linux, clippy will complain about
// useless conversion.
#[allow(clippy::useless_conversion)]
unsafe {
ioctl(fd, TIOCGWINSZ.into(), &mut winsize)
};
PositionAndSize::from(winsize)
}

View File

@ -41,7 +41,11 @@ pub(crate) fn set_terminal_size_using_fd(fd: RawFd, columns: u16, rows: u16) {
ws_xpixel: 0,
ws_ypixel: 0,
};
unsafe { ioctl(fd, TIOCSWINSZ, &winsize) };
// TIOCGWINSZ is an u32, but the second argument to ioctl is u64 on
// some platforms. When checked on Linux, clippy will complain about
// useless conversion.
#[allow(clippy::useless_conversion)]
unsafe { ioctl(fd, TIOCSWINSZ.into(), &winsize) };
}
/// Handle some signals for the child process. This will loop until the child