diff options
author | Eric Andersen <andersen@codepoet.org> | 2003-09-15 08:33:45 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2003-09-15 08:33:45 +0000 |
commit | 8efe967018dd79aacfe3ca1e2583f115d744e466 (patch) | |
tree | 7590704be6cf03c87242043f5909e12eb4150356 | |
parent | c4f72d1426e03f046ac54a00d733a4a52c3a5d4b (diff) | |
download | busybox-w32-8efe967018dd79aacfe3ca1e2583f115d744e466.tar.gz busybox-w32-8efe967018dd79aacfe3ca1e2583f115d744e466.tar.bz2 busybox-w32-8efe967018dd79aacfe3ca1e2583f115d744e466.zip |
Be entirely consistant when using ioctl(0, TIOCGWINSZ, &winsize)
to ensure proper fallback behavior on, i.e. serial consoles.
-Erik
-rw-r--r-- | coreutils/ls.c | 15 | ||||
-rw-r--r-- | editors/vi.c | 36 | ||||
-rw-r--r-- | include/libbb.h | 7 | ||||
-rw-r--r-- | libbb/get_terminal_width_height.c | 66 | ||||
-rw-r--r-- | networking/telnet.c | 10 | ||||
-rw-r--r-- | networking/wget.c | 11 | ||||
-rw-r--r-- | procps/ps.c | 14 | ||||
-rw-r--r-- | procps/top.c | 21 | ||||
-rw-r--r-- | shell/cmdedit.c | 8 | ||||
-rw-r--r-- | util-linux/more.c | 17 |
10 files changed, 110 insertions, 95 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c index a7f036b61..727529255 100644 --- a/coreutils/ls.c +++ b/coreutils/ls.c | |||
@@ -203,7 +203,7 @@ static int is_flask_enabled_flag; | |||
203 | #endif | 203 | #endif |
204 | 204 | ||
205 | #ifdef CONFIG_FEATURE_AUTOWIDTH | 205 | #ifdef CONFIG_FEATURE_AUTOWIDTH |
206 | static unsigned short terminal_width = TERMINAL_WIDTH; | 206 | static int terminal_width = TERMINAL_WIDTH; |
207 | static unsigned short tabstops = COLUMN_GAP; | 207 | static unsigned short tabstops = COLUMN_GAP; |
208 | #else | 208 | #else |
209 | #define tabstops COLUMN_GAP | 209 | #define tabstops COLUMN_GAP |
@@ -915,10 +915,6 @@ extern int ls_main(int argc, char **argv) | |||
915 | is_flask_enabled_flag = is_flask_enabled(); | 915 | is_flask_enabled_flag = is_flask_enabled(); |
916 | #endif | 916 | #endif |
917 | 917 | ||
918 | #ifdef CONFIG_FEATURE_AUTOWIDTH | ||
919 | struct winsize win = { 0, 0, 0, 0 }; | ||
920 | #endif | ||
921 | |||
922 | all_fmt = LIST_SHORT | DISP_NORMAL | STYLE_AUTO | 918 | all_fmt = LIST_SHORT | DISP_NORMAL | STYLE_AUTO |
923 | #ifdef CONFIG_FEATURE_LS_TIMESTAMPS | 919 | #ifdef CONFIG_FEATURE_LS_TIMESTAMPS |
924 | | TIME_MOD | 920 | | TIME_MOD |
@@ -927,11 +923,10 @@ extern int ls_main(int argc, char **argv) | |||
927 | | SORT_NAME | SORT_ORDER_FORWARD | 923 | | SORT_NAME | SORT_ORDER_FORWARD |
928 | #endif | 924 | #endif |
929 | ; | 925 | ; |
930 | #ifdef CONFIG_FEATURE_AUTOWIDTH | 926 | /* Obtain the terminal width. */ |
931 | ioctl(fileno(stdout), TIOCGWINSZ, &win); | 927 | get_terminal_width_height(0, &terminal_width, NULL); |
932 | if (win.ws_col > 0) | 928 | /* Go one less... */ |
933 | terminal_width = win.ws_col - 1; | 929 | terminal_width--; |
934 | #endif | ||
935 | nfiles = 0; | 930 | nfiles = 0; |
936 | 931 | ||
937 | #ifdef CONFIG_FEATURE_LS_COLOR | 932 | #ifdef CONFIG_FEATURE_LS_COLOR |
diff --git a/editors/vi.c b/editors/vi.c index 144e9d760..e01ee1165 100644 --- a/editors/vi.c +++ b/editors/vi.c | |||
@@ -19,7 +19,7 @@ | |||
19 | */ | 19 | */ |
20 | 20 | ||
21 | static const char vi_Version[] = | 21 | static const char vi_Version[] = |
22 | "$Id: vi.c,v 1.28 2003/03/19 09:11:45 mjn3 Exp $"; | 22 | "$Id: vi.c,v 1.29 2003/09/15 08:33:36 andersen Exp $"; |
23 | 23 | ||
24 | /* | 24 | /* |
25 | * To compile for standalone use: | 25 | * To compile for standalone use: |
@@ -197,9 +197,6 @@ static jmp_buf restart; // catch_sig() | |||
197 | #if defined(CONFIG_FEATURE_VI_USE_SIGNALS) || defined(CONFIG_FEATURE_VI_CRASHME) | 197 | #if defined(CONFIG_FEATURE_VI_USE_SIGNALS) || defined(CONFIG_FEATURE_VI_CRASHME) |
198 | static int my_pid; | 198 | static int my_pid; |
199 | #endif | 199 | #endif |
200 | #ifdef CONFIG_FEATURE_VI_WIN_RESIZE | ||
201 | static struct winsize winsize; // remember the window size | ||
202 | #endif /* CONFIG_FEATURE_VI_WIN_RESIZE */ | ||
203 | #ifdef CONFIG_FEATURE_VI_DOT_CMD | 200 | #ifdef CONFIG_FEATURE_VI_DOT_CMD |
204 | static int adding2q; // are we currently adding user input to q | 201 | static int adding2q; // are we currently adding user input to q |
205 | static Byte *last_modifying_cmd; // last modifying cmd for "." | 202 | static Byte *last_modifying_cmd; // last modifying cmd for "." |
@@ -412,6 +409,14 @@ extern int vi_main(int argc, char **argv) | |||
412 | return (0); | 409 | return (0); |
413 | } | 410 | } |
414 | 411 | ||
412 | #ifdef CONFIG_FEATURE_VI_WIN_RESIZE | ||
413 | //----- See what the window size currently is -------------------- | ||
414 | static inline void window_size_get(int fd) | ||
415 | { | ||
416 | get_terminal_width_height(fd, &columns, &rows); | ||
417 | } | ||
418 | #endif /* CONFIG_FEATURE_VI_WIN_RESIZE */ | ||
419 | |||
415 | static void edit_file(Byte * fn) | 420 | static void edit_file(Byte * fn) |
416 | { | 421 | { |
417 | Byte c; | 422 | Byte c; |
@@ -2122,29 +2127,6 @@ static void cookmode(void) | |||
2122 | tcsetattr(0, TCSANOW, &term_orig); | 2127 | tcsetattr(0, TCSANOW, &term_orig); |
2123 | } | 2128 | } |
2124 | 2129 | ||
2125 | #ifdef CONFIG_FEATURE_VI_WIN_RESIZE | ||
2126 | //----- See what the window size currently is -------------------- | ||
2127 | static void window_size_get(int sig) | ||
2128 | { | ||
2129 | int i; | ||
2130 | |||
2131 | i = ioctl(0, TIOCGWINSZ, &winsize); | ||
2132 | if (i != 0) { | ||
2133 | // force 24x80 | ||
2134 | winsize.ws_row = 24; | ||
2135 | winsize.ws_col = 80; | ||
2136 | } | ||
2137 | if (winsize.ws_row <= 1) { | ||
2138 | winsize.ws_row = 24; | ||
2139 | } | ||
2140 | if (winsize.ws_col <= 1) { | ||
2141 | winsize.ws_col = 80; | ||
2142 | } | ||
2143 | rows = (int) winsize.ws_row; | ||
2144 | columns = (int) winsize.ws_col; | ||
2145 | } | ||
2146 | #endif /* CONFIG_FEATURE_VI_WIN_RESIZE */ | ||
2147 | |||
2148 | //----- Come here when we get a window resize signal --------- | 2130 | //----- Come here when we get a window resize signal --------- |
2149 | #ifdef CONFIG_FEATURE_VI_USE_SIGNALS | 2131 | #ifdef CONFIG_FEATURE_VI_USE_SIGNALS |
2150 | static void winch_sig(int sig) | 2132 | static void winch_sig(int sig) |
diff --git a/include/libbb.h b/include/libbb.h index 4bfcc7a8b..a6ccff421 100644 --- a/include/libbb.h +++ b/include/libbb.h | |||
@@ -462,9 +462,10 @@ typedef struct llist_s { | |||
462 | } llist_t; | 462 | } llist_t; |
463 | extern llist_t *llist_add_to(llist_t *old_head, char *new_item); | 463 | extern llist_t *llist_add_to(llist_t *old_head, char *new_item); |
464 | 464 | ||
465 | void print_login_issue(const char *issue_file, const char *tty); | 465 | extern void print_login_issue(const char *issue_file, const char *tty); |
466 | void print_login_prompt(void); | 466 | extern void print_login_prompt(void); |
467 | 467 | ||
468 | void vfork_daemon_rexec(int argc, char **argv, char *foreground_opt); | 468 | extern void vfork_daemon_rexec(int argc, char **argv, char *foreground_opt); |
469 | extern void get_terminal_width_height(int fd, int *width, int *height); | ||
469 | 470 | ||
470 | #endif /* __LIBCONFIG_H__ */ | 471 | #endif /* __LIBCONFIG_H__ */ |
diff --git a/libbb/get_terminal_width_height.c b/libbb/get_terminal_width_height.c new file mode 100644 index 000000000..69f6a17e5 --- /dev/null +++ b/libbb/get_terminal_width_height.c | |||
@@ -0,0 +1,66 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
2 | /* | ||
3 | * Determine the width and height of the terminal. | ||
4 | * | ||
5 | * Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | ||
21 | |||
22 | #include <stdio.h> | ||
23 | #include <errno.h> | ||
24 | #include <fcntl.h> | ||
25 | #include <unistd.h> | ||
26 | #include <unistd.h> | ||
27 | #include <termios.h> | ||
28 | #include <sys/ioctl.h> | ||
29 | #include "busybox.h" | ||
30 | |||
31 | /* It is perfectly ok to pass in a NULL for either width or for | ||
32 | * height, in which case that value will not be set. It is also | ||
33 | * perfectly ok to have CONFIG_FEATURE_AUTOWIDTH disabled, in | ||
34 | * which case you will always get 80x24 */ | ||
35 | void get_terminal_width_height(int fd, int *width, int *height) | ||
36 | { | ||
37 | struct winsize win = { 0, 0, 0, 0 }; | ||
38 | #ifdef CONFIG_FEATURE_AUTOWIDTH | ||
39 | if (ioctl(0, TIOCGWINSZ, &win) != 0) { | ||
40 | win.ws_row = 24; | ||
41 | win.ws_col = 80; | ||
42 | } | ||
43 | #endif | ||
44 | if (win.ws_row <= 1) { | ||
45 | win.ws_row = 24; | ||
46 | } | ||
47 | if (win.ws_col <= 1) { | ||
48 | win.ws_col = 80; | ||
49 | } | ||
50 | if (height) { | ||
51 | *height = (int) win.ws_row; | ||
52 | } | ||
53 | if (width) { | ||
54 | *width = (int) win.ws_col; | ||
55 | } | ||
56 | } | ||
57 | |||
58 | /* END CODE */ | ||
59 | /* | ||
60 | Local Variables: | ||
61 | c-file-style: "linux" | ||
62 | c-basic-offset: 4 | ||
63 | tab-width: 4 | ||
64 | End: | ||
65 | */ | ||
66 | |||
diff --git a/networking/telnet.c b/networking/telnet.c index 88607f653..ac6ec98de 100644 --- a/networking/telnet.c +++ b/networking/telnet.c | |||
@@ -44,10 +44,6 @@ | |||
44 | #include <netinet/in.h> | 44 | #include <netinet/in.h> |
45 | #include "busybox.h" | 45 | #include "busybox.h" |
46 | 46 | ||
47 | #ifdef CONFIG_FEATURE_AUTOWIDTH | ||
48 | # include <sys/ioctl.h> | ||
49 | #endif | ||
50 | |||
51 | #if 0 | 47 | #if 0 |
52 | static const int DOTRACE = 1; | 48 | static const int DOTRACE = 1; |
53 | #endif | 49 | #endif |
@@ -585,11 +581,7 @@ extern int telnet_main(int argc, char** argv) | |||
585 | #endif | 581 | #endif |
586 | 582 | ||
587 | #ifdef CONFIG_FEATURE_AUTOWIDTH | 583 | #ifdef CONFIG_FEATURE_AUTOWIDTH |
588 | struct winsize winp; | 584 | get_terminal_width_height(0, &win_width, &win_height); |
589 | if( ioctl(0, TIOCGWINSZ, &winp) == 0 ) { | ||
590 | win_width = winp.ws_col; | ||
591 | win_height = winp.ws_row; | ||
592 | } | ||
593 | #endif | 585 | #endif |
594 | 586 | ||
595 | #ifdef CONFIG_FEATURE_TELNET_TTYPE | 587 | #ifdef CONFIG_FEATURE_TELNET_TTYPE |
diff --git a/networking/wget.c b/networking/wget.c index b1cc35e34..597d61097 100644 --- a/networking/wget.c +++ b/networking/wget.c | |||
@@ -679,12 +679,9 @@ static int ftpcmd(char *s1, char *s2, FILE *fp, char *buf) | |||
679 | static int | 679 | static int |
680 | getttywidth(void) | 680 | getttywidth(void) |
681 | { | 681 | { |
682 | struct winsize winsize; | 682 | int width=0; |
683 | 683 | get_terminal_width_height(0, &width, NULL); | |
684 | if (ioctl(fileno(stdout), TIOCGWINSZ, &winsize) != -1) | 684 | return (width); |
685 | return (winsize.ws_col ? winsize.ws_col : 80); | ||
686 | else | ||
687 | return (80); | ||
688 | } | 685 | } |
689 | 686 | ||
690 | static void | 687 | static void |
@@ -841,7 +838,7 @@ progressmeter(int flag) | |||
841 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 838 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
842 | * SUCH DAMAGE. | 839 | * SUCH DAMAGE. |
843 | * | 840 | * |
844 | * $Id: wget.c,v 1.59 2003/09/11 08:25:11 andersen Exp $ | 841 | * $Id: wget.c,v 1.60 2003/09/15 08:33:37 andersen Exp $ |
845 | */ | 842 | */ |
846 | 843 | ||
847 | 844 | ||
diff --git a/procps/ps.c b/procps/ps.c index 9dc45d35d..b9d15b861 100644 --- a/procps/ps.c +++ b/procps/ps.c | |||
@@ -44,12 +44,7 @@ extern int ps_main(int argc, char **argv) | |||
44 | { | 44 | { |
45 | procps_status_t * p; | 45 | procps_status_t * p; |
46 | int i, len; | 46 | int i, len; |
47 | #ifdef CONFIG_FEATURE_AUTOWIDTH | ||
48 | struct winsize win = { 0, 0, 0, 0 }; | ||
49 | int terminal_width = TERMINAL_WIDTH; | 47 | int terminal_width = TERMINAL_WIDTH; |
50 | #else | ||
51 | #define terminal_width TERMINAL_WIDTH | ||
52 | #endif | ||
53 | 48 | ||
54 | #ifdef CONFIG_SELINUX | 49 | #ifdef CONFIG_SELINUX |
55 | int use_selinux = 0; | 50 | int use_selinux = 0; |
@@ -58,12 +53,9 @@ extern int ps_main(int argc, char **argv) | |||
58 | use_selinux = 1; | 53 | use_selinux = 1; |
59 | #endif | 54 | #endif |
60 | 55 | ||
61 | 56 | get_terminal_width_height(0, &terminal_width, NULL); | |
62 | #ifdef CONFIG_FEATURE_AUTOWIDTH | 57 | /* Go one less... */ |
63 | ioctl(fileno(stdout), TIOCGWINSZ, &win); | 58 | terminal_width--; |
64 | if (win.ws_col > 0) | ||
65 | terminal_width = win.ws_col - 1; | ||
66 | #endif | ||
67 | 59 | ||
68 | #ifdef CONFIG_SELINUX | 60 | #ifdef CONFIG_SELINUX |
69 | if(use_selinux) | 61 | if(use_selinux) |
diff --git a/procps/top.c b/procps/top.c index 2e1bd3286..cee1b52c1 100644 --- a/procps/top.c +++ b/procps/top.c | |||
@@ -373,10 +373,11 @@ static void display_status(int count, int col) | |||
373 | sprintf(rss_str_buf, "%6ldM", s->rss/1024); | 373 | sprintf(rss_str_buf, "%6ldM", s->rss/1024); |
374 | else | 374 | else |
375 | sprintf(rss_str_buf, "%7ld", s->rss); | 375 | sprintf(rss_str_buf, "%7ld", s->rss); |
376 | printf( | ||
376 | #ifdef FEATURE_CPU_USAGE_PERCENTAGE | 377 | #ifdef FEATURE_CPU_USAGE_PERCENTAGE |
377 | printf("%5d %-8s %s %s %5d %2d.%d %2u.%u ", | 378 | "%5d %-8s %s %s %5d %2d.%d %2u.%u ", |
378 | #else | 379 | #else |
379 | printf("%5d %-8s %s %s %5d %2u.%u ", | 380 | "%5d %-8s %s %s %5d %2u.%u ", |
380 | #endif | 381 | #endif |
381 | s->pid, s->user, s->state, rss_str_buf, s->ppid, | 382 | s->pid, s->user, s->state, rss_str_buf, s->ppid, |
382 | #ifdef FEATURE_CPU_USAGE_PERCENTAGE | 383 | #ifdef FEATURE_CPU_USAGE_PERCENTAGE |
@@ -432,9 +433,6 @@ int top_main(int argc, char **argv) | |||
432 | fd_set readfds; | 433 | fd_set readfds; |
433 | unsigned char c; | 434 | unsigned char c; |
434 | struct sigaction sa; | 435 | struct sigaction sa; |
435 | #if defined CONFIG_FEATURE_AUTOWIDTH | ||
436 | struct winsize win = { 0, 0, 0, 0 }; | ||
437 | #endif | ||
438 | #endif /* CONFIG_FEATURE_USE_TERMIOS */ | 436 | #endif /* CONFIG_FEATURE_USE_TERMIOS */ |
439 | 437 | ||
440 | /* Default update rate is 5 seconds */ | 438 | /* Default update rate is 5 seconds */ |
@@ -478,17 +476,16 @@ int top_main(int argc, char **argv) | |||
478 | sigaction (SIGINT, &sa, (struct sigaction *) 0); | 476 | sigaction (SIGINT, &sa, (struct sigaction *) 0); |
479 | tcsetattr(0, TCSANOW, (void *) &new_settings); | 477 | tcsetattr(0, TCSANOW, (void *) &new_settings); |
480 | atexit(reset_term); | 478 | atexit(reset_term); |
481 | #if defined CONFIG_FEATURE_AUTOWIDTH | 479 | |
482 | ioctl(0, TIOCGWINSZ, &win); | 480 | get_terminal_width_height(0, &col, &lines); |
483 | if (win.ws_row > 4) { | 481 | if (lines > 4) { |
484 | lines = win.ws_row - 5; | 482 | lines -= 5; |
485 | #ifdef FEATURE_CPU_USAGE_PERCENTAGE | 483 | #ifdef FEATURE_CPU_USAGE_PERCENTAGE |
486 | col = win.ws_col - 80 + 35 - 6; | 484 | col = col - 80 + 35 - 6; |
487 | #else | 485 | #else |
488 | col = win.ws_col - 80 + 35; | 486 | col = col - 80 + 35; |
489 | #endif | 487 | #endif |
490 | } | 488 | } |
491 | #endif | ||
492 | #endif /* CONFIG_FEATURE_USE_TERMIOS */ | 489 | #endif /* CONFIG_FEATURE_USE_TERMIOS */ |
493 | #ifdef FEATURE_CPU_USAGE_PERCENTAGE | 490 | #ifdef FEATURE_CPU_USAGE_PERCENTAGE |
494 | sort_function[0] = pcpu_sort; | 491 | sort_function[0] = pcpu_sort; |
diff --git a/shell/cmdedit.c b/shell/cmdedit.c index 0ab195803..16825089d 100644 --- a/shell/cmdedit.c +++ b/shell/cmdedit.c | |||
@@ -167,15 +167,13 @@ static void cmdedit_setwidth(int w, int redraw_flg); | |||
167 | 167 | ||
168 | static void win_changed(int nsig) | 168 | static void win_changed(int nsig) |
169 | { | 169 | { |
170 | struct winsize win = { 0, 0, 0, 0 }; | ||
171 | static sighandler_t previous_SIGWINCH_handler; /* for reset */ | 170 | static sighandler_t previous_SIGWINCH_handler; /* for reset */ |
172 | 171 | ||
173 | /* emulate || signal call */ | 172 | /* emulate || signal call */ |
174 | if (nsig == -SIGWINCH || nsig == SIGWINCH) { | 173 | if (nsig == -SIGWINCH || nsig == SIGWINCH) { |
175 | ioctl(0, TIOCGWINSZ, &win); | 174 | int width = 0; |
176 | if (win.ws_col > 0) { | 175 | get_terminal_width_height(0, &width, NULL); |
177 | cmdedit_setwidth(win.ws_col, nsig == SIGWINCH); | 176 | cmdedit_setwidth(width, nsig == SIGWINCH); |
178 | } | ||
179 | } | 177 | } |
180 | /* Unix not all standart in recall signal */ | 178 | /* Unix not all standart in recall signal */ |
181 | 179 | ||
diff --git a/util-linux/more.c b/util-linux/more.c index 1ec3007bf..f4018f5d1 100644 --- a/util-linux/more.c +++ b/util-linux/more.c | |||
@@ -69,10 +69,6 @@ extern int more_main(int argc, char **argv) | |||
69 | FILE *file; | 69 | FILE *file; |
70 | int len, page_height; | 70 | int len, page_height; |
71 | 71 | ||
72 | #if defined CONFIG_FEATURE_AUTOWIDTH && defined CONFIG_FEATURE_USE_TERMIOS | ||
73 | struct winsize win = { 0, 0, 0, 0 }; | ||
74 | #endif | ||
75 | |||
76 | argc--; | 72 | argc--; |
77 | argv++; | 73 | argv++; |
78 | 74 | ||
@@ -115,13 +111,12 @@ extern int more_main(int argc, char **argv) | |||
115 | if(please_display_more_prompt>0) | 111 | if(please_display_more_prompt>0) |
116 | please_display_more_prompt = 0; | 112 | please_display_more_prompt = 0; |
117 | 113 | ||
118 | #if defined CONFIG_FEATURE_AUTOWIDTH && defined CONFIG_FEATURE_USE_TERMIOS | 114 | get_terminal_width_height(0, &terminal_width, &terminal_height); |
119 | ioctl(fileno(stdout), TIOCGWINSZ, &win); | 115 | if (terminal_height > 4) |
120 | if (win.ws_row > 4) | 116 | terminal_height -= 2; |
121 | terminal_height = win.ws_row - 2; | 117 | if (terminal_width > 0) |
122 | if (win.ws_col > 0) | 118 | terminal_width -= 1; |
123 | terminal_width = win.ws_col - 1; | 119 | |
124 | #endif | ||
125 | len=0; | 120 | len=0; |
126 | lines = 0; | 121 | lines = 0; |
127 | page_height = terminal_height; | 122 | page_height = terminal_height; |