← Commit list

641caaec3

Denys Vlasenko
Denys Vlasenko
2015-10-23
SUCCESS Duration: 186s

Subject

libbb: factor out code which queries screen width

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

coreutils/ls.c+1 -1
@@ -1105,7 +1105,7 @@ int ls_main(int argc UNUSED_PARAM, char **argv)
#if ENABLE_FEATURE_AUTOWIDTH
/* obtain the terminal width */
- get_terminal_width_height(STDIN_FILENO, &G_terminal_width, NULL);
+ G_terminal_width = get_terminal_width(STDIN_FILENO);
/* go one less... */
G_terminal_width--;
#endif
coreutils/stty.c+1 -1
@@ -1403,7 +1403,7 @@ int stty_main(int argc UNUSED_PARAM, char **argv)
perror_on_device_and_die("%s");
if (stty_state & (STTY_verbose_output | STTY_recoverable_output | STTY_noargs)) {
- get_terminal_width_height(STDOUT_FILENO, &G.max_col, NULL);
+ G.max_col = get_terminal_width(STDOUT_FILENO);
output_func(&mode, display_all);
return EXIT_SUCCESS;
}
include/libbb.h+1 -0
@@ -1399,6 +1399,7 @@ extern void print_login_prompt(void) FAST_FUNC;
char *xmalloc_ttyname(int fd) FAST_FUNC RETURNS_MALLOC;
/* NB: typically you want to pass fd 0, not 1. Think 'applet | grep something' */
int get_terminal_width_height(int fd, unsigned *width, unsigned *height) FAST_FUNC;
+int get_terminal_width(int fd) FAST_FUNC;
int tcsetattr_stdin_TCSANOW(const struct termios *tp) FAST_FUNC;
libbb/appletlib.c+1 -1
@@ -623,7 +623,7 @@ static int busybox_main(char **argv)
output_width = 80;
if (ENABLE_FEATURE_AUTOWIDTH) {
/* Obtain the terminal width */
- get_terminal_width_height(0, &output_width, NULL);
+ output_width = get_terminal_width(2);
}
dup2(1, 2);
libbb/progress.c+1 -8
@@ -45,13 +45,6 @@ enum {
STALLTIME = 5
};
-static unsigned int get_tty2_width(void)
-{
- unsigned width;
- get_terminal_width_height(2, &width, NULL);
- return width;
-}
-
void FAST_FUNC bb_progress_init(bb_progress_t *p, const char *curfile)
{
#if ENABLE_UNICODE_SUPPORT
@@ -148,7 +141,7 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p,
unsigned ratio = 100 * beg_and_transferred / totalsize;
fprintf(stderr, "%4u%%", ratio);
- barlength = get_tty2_width() - 49;
+ barlength = get_terminal_width(2) - 49;
if (barlength > 0) {
/* god bless gcc for variable arrays :) */
char buf[barlength + 1];
libbb/xfuncs.c+6 -0
@@ -270,6 +270,12 @@ int FAST_FUNC get_terminal_width_height(int fd, unsigned *width, unsigned *heigh
*width = wh_helper(win.ws_col, 80, "COLUMNS", &err);
return err;
}
+int FAST_FUNC get_terminal_width(int fd)
+{
+ unsigned width;
+ get_terminal_width_height(fd, &width, NULL);
+ return width;
+}
int FAST_FUNC tcsetattr_stdin_TCSANOW(const struct termios *tp)
{
procps/ps.c+2 -2
@@ -622,7 +622,7 @@ int ps_main(int argc UNUSED_PARAM, char **argv)
* and such large widths */
terminal_width = MAX_WIDTH;
if (isatty(1)) {
- get_terminal_width_height(0, &terminal_width, NULL);
+ terminal_width = get_terminal_width(0);
if (--terminal_width > MAX_WIDTH)
terminal_width = MAX_WIDTH;
}
@@ -672,7 +672,7 @@ int ps_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
if (w_count) {
terminal_width = (w_count == 1) ? 132 : MAX_WIDTH;
} else {
- get_terminal_width_height(0, &terminal_width, NULL);
+ terminal_width = get_terminal_width(0);
/* Go one less... */
if (--terminal_width > MAX_WIDTH)
terminal_width = MAX_WIDTH;
procps/pstree.c+1 -1
@@ -381,7 +381,7 @@ int pstree_main(int argc UNUSED_PARAM, char **argv)
INIT_G();
- get_terminal_width_height(0, &G.output_width, NULL);
+ G.output_width = get_terminal_width(0);
opt_complementary = "?1";
getopt32(argv, "p");
procps/watch.c+1 -1
@@ -72,7 +72,7 @@ int watch_main(int argc UNUSED_PARAM, char **argv)
// STDERR_FILENO is procps3 compat:
// "watch ls 2>/dev/null" does not detect tty size
- get_terminal_width_height(STDERR_FILENO, &new_width, NULL);
+ new_width = get_terminal_width(STDERR_FILENO);
if (new_width != width) {
width = new_width;
free(header);