less: code shrink
function old new delta restore_tty - 29 +29 less_main 2107 2105 -2 getch_nowait 253 251 -2 buffer_print 614 612 -2 less_exit 51 12 -39 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/4 up/down: 29/-45) Total: -16 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
34e0bb3931
commit
076f5e064f
@ -325,15 +325,18 @@ static void print_statusline(const char *str)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Exit the program gracefully */
|
/* Exit the program gracefully */
|
||||||
static void less_exit(int code)
|
static void restore_tty(void)
|
||||||
{
|
{
|
||||||
set_tty_cooked();
|
set_tty_cooked();
|
||||||
if (!(G.kbd_fd_orig_flags & O_NONBLOCK))
|
if (!(G.kbd_fd_orig_flags & O_NONBLOCK))
|
||||||
ndelay_off(kbd_fd);
|
ndelay_off(kbd_fd);
|
||||||
clear_line();
|
clear_line();
|
||||||
if (code < 0)
|
}
|
||||||
kill_myself_with_sig(- code); /* does not return */
|
|
||||||
exit(code);
|
static void less_exit(void)
|
||||||
|
{
|
||||||
|
restore_tty();
|
||||||
|
exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (ENABLE_FEATURE_LESS_DASHCMD && ENABLE_FEATURE_LESS_LINENUMS) \
|
#if (ENABLE_FEATURE_LESS_DASHCMD && ENABLE_FEATURE_LESS_LINENUMS) \
|
||||||
@ -913,7 +916,7 @@ static void buffer_print(void)
|
|||||||
) {
|
) {
|
||||||
i = option_mask32 & FLAG_F ? 0 : cur_fline;
|
i = option_mask32 & FLAG_F ? 0 : cur_fline;
|
||||||
if (max_fline - i <= max_displayed_line)
|
if (max_fline - i <= max_displayed_line)
|
||||||
less_exit(EXIT_SUCCESS);
|
less_exit();
|
||||||
}
|
}
|
||||||
status_print();
|
status_print();
|
||||||
}
|
}
|
||||||
@ -1146,7 +1149,7 @@ static int64_t getch_nowait(void)
|
|||||||
goto again;
|
goto again;
|
||||||
}
|
}
|
||||||
/* EOF/error (ssh session got killed etc) */
|
/* EOF/error (ssh session got killed etc) */
|
||||||
less_exit(EXIT_SUCCESS);
|
less_exit();
|
||||||
}
|
}
|
||||||
set_tty_cooked();
|
set_tty_cooked();
|
||||||
return key64;
|
return key64;
|
||||||
@ -1297,7 +1300,7 @@ static void colon_process(void)
|
|||||||
change_file(-1);
|
change_file(-1);
|
||||||
break;
|
break;
|
||||||
case 'q':
|
case 'q':
|
||||||
less_exit(EXIT_SUCCESS);
|
less_exit();
|
||||||
break;
|
break;
|
||||||
case 'x':
|
case 'x':
|
||||||
change_file(0);
|
change_file(0);
|
||||||
@ -1715,7 +1718,7 @@ static void keypress_process(int keypress)
|
|||||||
buffer_line(cur_fline);
|
buffer_line(cur_fline);
|
||||||
break;
|
break;
|
||||||
case 'q': case 'Q':
|
case 'q': case 'Q':
|
||||||
less_exit(EXIT_SUCCESS);
|
less_exit();
|
||||||
break;
|
break;
|
||||||
#if ENABLE_FEATURE_LESS_MARKS
|
#if ENABLE_FEATURE_LESS_MARKS
|
||||||
case 'm':
|
case 'm':
|
||||||
@ -1793,7 +1796,8 @@ static void keypress_process(int keypress)
|
|||||||
|
|
||||||
static void sig_catcher(int sig)
|
static void sig_catcher(int sig)
|
||||||
{
|
{
|
||||||
less_exit(- sig);
|
restore_tty();
|
||||||
|
kill_myself_with_sig(sig); /* does not return */
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLE_FEATURE_LESS_WINCH
|
#if ENABLE_FEATURE_LESS_WINCH
|
||||||
|
Loading…
Reference in New Issue
Block a user