Commit 96c52499 authored by Derek Fawcus's avatar Derek Fawcus Committed by Craig Small

'slabtop -o' with stdin not a tty would complain

When the command is executed in one shot mode (-o) with stdin
being something other than a terminal,  the tcgetattr() call
would fail,  and generate an error message. e.g.:

slabtop: terminal setting retrieval: Inappropriate ioctl for device
 Active / Total Objects (% used)    : 905319 / 915886 (98.8%)
Signed-off-by: Craig Small's avatarCraig Small <[email protected]>
parent 7610b312
......@@ -286,7 +286,7 @@ static void parse_input(char c)
#define print_line(fmt, ...) if (run_once) printf(fmt, __VA_ARGS__); else printw(fmt, __VA_ARGS__)
int main(int argc, char *argv[])
{
int o;
int is_tty, o;
unsigned short old_rows;
struct slab_info *slab_list = NULL;
int run_once = 0, retval = EXIT_SUCCESS;
......@@ -337,7 +337,8 @@ int main(int argc, char *argv[])
}
}
if (tcgetattr(STDIN_FILENO, &saved_tty) == -1)
is_tty = isatty(STDIN_FILENO);
if (is_tty && tcgetattr(STDIN_FILENO, &saved_tty) == -1)
xwarn(_("terminal setting retrieval"));
old_rows = rows;
......@@ -429,7 +430,8 @@ int main(int argc, char *argv[])
}
} while (delay);
tcsetattr(STDIN_FILENO, TCSAFLUSH, &saved_tty);
if (is_tty)
tcsetattr(STDIN_FILENO, TCSAFLUSH, &saved_tty);
free_slabinfo(slab_list);
if (!run_once)
endwin();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment