ls,ps,watch: measure terminal width on fd 0, not 1
This commit is contained in:
@@ -28,7 +28,7 @@ int watch_main(int argc, char **argv)
|
||||
{
|
||||
unsigned opt;
|
||||
unsigned period = 2;
|
||||
unsigned cmdlen = 1; // 1 for terminal NUL
|
||||
unsigned cmdlen;
|
||||
char *header = NULL;
|
||||
char *cmd;
|
||||
char *tmp;
|
||||
@@ -42,6 +42,7 @@ int watch_main(int argc, char **argv)
|
||||
argv += optind;
|
||||
|
||||
p = argv;
|
||||
cmdlen = 1; // 1 for terminal NUL
|
||||
while (*p)
|
||||
cmdlen += strlen(*p++) + 1;
|
||||
tmp = cmd = xmalloc(cmdlen);
|
||||
@@ -58,7 +59,7 @@ int watch_main(int argc, char **argv)
|
||||
char *thyme;
|
||||
time_t t;
|
||||
|
||||
get_terminal_width_height(STDOUT_FILENO, &width, 0);
|
||||
get_terminal_width_height(STDIN_FILENO, &width, 0);
|
||||
header = xrealloc(header, width--);
|
||||
// '%-*s' pads header with spaces to the full width
|
||||
snprintf(header, width, "Every %ds: %-*s", period, width, cmd);
|
||||
|
Reference in New Issue
Block a user