src/api/cli/text_table.rs: only call TIOCGWINSZ on terminals

This commit is contained in:
Dietmar Maurer 2020-01-30 18:25:43 +01:00
parent 9976f04357
commit af7d6cd045

View File

@ -195,11 +195,13 @@ impl TableFormatOptions {
let mut me = Self::default();
let is_tty = unsafe { libc::isatty(libc::STDOUT_FILENO) == 1 };
let mut winsize = libc::winsize { ws_row: 0, ws_col: 0, ws_xpixel: 0, ws_ypixel: 0 };
unsafe { libc::ioctl(libc::STDOUT_FILENO, libc::TIOCGWINSZ, &mut winsize) };
if is_tty && (winsize.ws_col > 0) {
me.columns = Some(winsize.ws_col as usize) ;
if is_tty {
let mut winsize = libc::winsize { ws_row: 0, ws_col: 0, ws_xpixel: 0, ws_ypixel: 0 };
unsafe { libc::ioctl(libc::STDOUT_FILENO, libc::TIOCGWINSZ, &mut winsize) };
if winsize.ws_col > 0 {
me.columns = Some(winsize.ws_col as usize);
}
}
let empty_cstr = crate::c_str!("");