From 8efe967018dd79aacfe3ca1e2583f115d744e466 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Mon, 15 Sep 2003 08:33:45 +0000 Subject: Be entirely consistant when using ioctl(0, TIOCGWINSZ, &winsize) to ensure proper fallback behavior on, i.e. serial consoles. -Erik --- procps/ps.c | 14 +++----------- procps/top.c | 21 +++++++++------------ 2 files changed, 12 insertions(+), 23 deletions(-) (limited to 'procps') diff --git a/procps/ps.c b/procps/ps.c index 9dc45d3..b9d15b8 100644 --- a/procps/ps.c +++ b/procps/ps.c @@ -44,12 +44,7 @@ extern int ps_main(int argc, char **argv) { procps_status_t * p; int i, len; -#ifdef CONFIG_FEATURE_AUTOWIDTH - struct winsize win = { 0, 0, 0, 0 }; int terminal_width = TERMINAL_WIDTH; -#else -#define terminal_width TERMINAL_WIDTH -#endif #ifdef CONFIG_SELINUX int use_selinux = 0; @@ -58,12 +53,9 @@ extern int ps_main(int argc, char **argv) use_selinux = 1; #endif - -#ifdef CONFIG_FEATURE_AUTOWIDTH - ioctl(fileno(stdout), TIOCGWINSZ, &win); - if (win.ws_col > 0) - terminal_width = win.ws_col - 1; -#endif + get_terminal_width_height(0, &terminal_width, NULL); + /* Go one less... */ + terminal_width--; #ifdef CONFIG_SELINUX if(use_selinux) diff --git a/procps/top.c b/procps/top.c index 2e1bd32..cee1b52 100644 --- a/procps/top.c +++ b/procps/top.c @@ -373,10 +373,11 @@ static void display_status(int count, int col) sprintf(rss_str_buf, "%6ldM", s->rss/1024); else sprintf(rss_str_buf, "%7ld", s->rss); + printf( #ifdef FEATURE_CPU_USAGE_PERCENTAGE - printf("%5d %-8s %s %s %5d %2d.%d %2u.%u ", + "%5d %-8s %s %s %5d %2d.%d %2u.%u ", #else - printf("%5d %-8s %s %s %5d %2u.%u ", + "%5d %-8s %s %s %5d %2u.%u ", #endif s->pid, s->user, s->state, rss_str_buf, s->ppid, #ifdef FEATURE_CPU_USAGE_PERCENTAGE @@ -432,9 +433,6 @@ int top_main(int argc, char **argv) fd_set readfds; unsigned char c; struct sigaction sa; -#if defined CONFIG_FEATURE_AUTOWIDTH - struct winsize win = { 0, 0, 0, 0 }; -#endif #endif /* CONFIG_FEATURE_USE_TERMIOS */ /* Default update rate is 5 seconds */ @@ -478,17 +476,16 @@ int top_main(int argc, char **argv) sigaction (SIGINT, &sa, (struct sigaction *) 0); tcsetattr(0, TCSANOW, (void *) &new_settings); atexit(reset_term); -#if defined CONFIG_FEATURE_AUTOWIDTH - ioctl(0, TIOCGWINSZ, &win); - if (win.ws_row > 4) { - lines = win.ws_row - 5; + + get_terminal_width_height(0, &col, &lines); + if (lines > 4) { + lines -= 5; #ifdef FEATURE_CPU_USAGE_PERCENTAGE - col = win.ws_col - 80 + 35 - 6; + col = col - 80 + 35 - 6; #else - col = win.ws_col - 80 + 35; + col = col - 80 + 35; #endif } -#endif #endif /* CONFIG_FEATURE_USE_TERMIOS */ #ifdef FEATURE_CPU_USAGE_PERCENTAGE sort_function[0] = pcpu_sort; -- cgit v1.1