projects
/
oweals
/
busybox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
getty: do not emit bogus error message on EOF
[oweals/busybox.git]
/
console-tools
/
resize.c
diff --git
a/console-tools/resize.c
b/console-tools/resize.c
index 64f318c76ca38d90ebcd608c5e74b5d87212ed2c..828b5bb42960022d8b8a4e4f63d20f3659da7350 100644
(file)
--- a/
console-tools/resize.c
+++ b/
console-tools/resize.c
@@
-2,30
+2,29
@@
/*
* resize - set terminal width and height.
*
/*
* resize - set terminal width and height.
*
- * Copyright 2006 Bernhard Fischer
+ * Copyright 2006 Bernhard
Reutner-
Fischer
*
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
/* no options, no getopt */
*
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
/* no options, no getopt */
-#include "
busybox
.h"
+#include "
libbb
.h"
#define ESC "\033"
#define ESC "\033"
-struct termios old;
+#define old_termios_p ((struct termios*)&bb_common_bufsiz1)
static void
static void
-onintr(int sig
ATTRIBUTE_UNUSED
)
+onintr(int sig
UNUSED_PARAM
)
{
{
- tcsetattr(STDERR_FILENO, TCSANOW,
&old
);
- exit(
1
);
+ tcsetattr(STDERR_FILENO, TCSANOW,
old_termios_p
);
+ exit(
EXIT_FAILURE
);
}
}
-
-int resize_main(int argc, char **argv);
-int resize_main(int argc, char **argv)
+int resize_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int resize_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
{
struct termios new;
{
struct termios new;
- struct winsize w = { 0,
0,0,
0 };
+ struct winsize w = { 0,
0, 0,
0 };
int ret;
/* We use _stderr_ in order to make resize usable
int ret;
/* We use _stderr_ in order to make resize usable
@@
-34,14
+33,16
@@
int resize_main(int argc, char **argv)
* and operate on it - should we do the same?
*/
* and operate on it - should we do the same?
*/
- tcgetattr(STDERR_FILENO,
&old
); /* fiddle echo */
-
new = old
;
+ tcgetattr(STDERR_FILENO,
old_termios_p
); /* fiddle echo */
+
memcpy(&new, old_termios_p, sizeof(new))
;
new.c_cflag |= (CLOCAL | CREAD);
new.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
new.c_cflag |= (CLOCAL | CREAD);
new.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
- signal(SIGINT, onintr);
- signal(SIGQUIT, onintr);
- signal(SIGTERM, onintr);
- signal(SIGALRM, onintr);
+ bb_signals(0
+ + (1 << SIGINT)
+ + (1 << SIGQUIT)
+ + (1 << SIGTERM)
+ + (1 << SIGALRM)
+ , onintr);
tcsetattr(STDERR_FILENO, TCSANOW, &new);
/* save_cursor_pos 7
tcsetattr(STDERR_FILENO, TCSANOW, &new);
/* save_cursor_pos 7
@@
-60,7
+61,7
@@
int resize_main(int argc, char **argv)
* (gotten via TIOCGWINSZ) and recomputing *pixel values */
ret = ioctl(STDERR_FILENO, TIOCSWINSZ, &w);
* (gotten via TIOCGWINSZ) and recomputing *pixel values */
ret = ioctl(STDERR_FILENO, TIOCSWINSZ, &w);
- tcsetattr(STDERR_FILENO, TCSANOW,
&old
);
+ tcsetattr(STDERR_FILENO, TCSANOW,
old_termios_p
);
if (ENABLE_FEATURE_RESIZE_PRINT)
printf("COLUMNS=%d;LINES=%d;export COLUMNS LINES;\n",
if (ENABLE_FEATURE_RESIZE_PRINT)
printf("COLUMNS=%d;LINES=%d;export COLUMNS LINES;\n",