From 7b18107384d950358e146d42bf02b391fab5ffd6 Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Thu, 28 Oct 2010 21:34:56 +0200 Subject: *: use _exit() in sighandlers; showkey: do not use exit-thru-sighandler While at it, make ESC sequences more readable; and removed check for isatty(stdin) in reset. Code shrink: text data bss dec hex filename 884771 936 17216 902923 dc70b busybox_old 884723 936 17216 902875 dc6db busybox_unstripped Signed-off-by: Marek Polacek Signed-off-by: Denys Vlasenko --- util-linux/more.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'util-linux') diff --git a/util-linux/more.c b/util-linux/more.c index 1fd6f9ee8..788609a08 100644 --- a/util-linux/more.c +++ b/util-linux/more.c @@ -29,16 +29,20 @@ struct globals { #define new_settings (G.new_settings ) #define cin_fileno (G.cin_fileno ) -#define setTermSettings(fd, argp) do { \ - if (ENABLE_FEATURE_USE_TERMIOS) tcsetattr(fd, TCSANOW, argp); \ - } while (0) +#define setTermSettings(fd, argp) \ +do { \ + if (ENABLE_FEATURE_USE_TERMIOS) \ + tcsetattr(fd, TCSANOW, argp); \ +} while (0) #define getTermSettings(fd, argp) tcgetattr(fd, argp) static void gotsig(int sig UNUSED_PARAM) { - bb_putchar('\n'); + /* bb_putchar_stderr doesn't use stdio buffering, + * therefore it is safe in signal handler */ + bb_putchar_stderr('\n'); setTermSettings(cin_fileno, &initial_settings); - exit(EXIT_FAILURE); + _exit(EXIT_FAILURE); } #define CONVERTED_TAB_SIZE 8 -- cgit v1.2.3