Be entirely consistant when using ioctl(0, TIOCGWINSZ, &winsize)
to ensure proper fallback behavior on, i.e. serial consoles. -Erik
This commit is contained in:
14
procps/ps.c
14
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)
|
||||
|
21
procps/top.c
21
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;
|
||||
|
Reference in New Issue
Block a user