aboutsummaryrefslogtreecommitdiff
path: root/miscutils/less.c
diff options
context:
space:
mode:
Diffstat (limited to 'miscutils/less.c')
-rw-r--r--miscutils/less.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/miscutils/less.c b/miscutils/less.c
index f3be2cfbf..7351a634d 100644
--- a/miscutils/less.c
+++ b/miscutils/less.c
@@ -174,7 +174,9 @@ static void less_exit(int code)
174{ 174{
175 bb_putchar('\n'); 175 bb_putchar('\n');
176 set_tty_cooked(); 176 set_tty_cooked();
177 exit(code); /* TODO: "suicide mode" for code == -signal */ 177 if (code < 0)
178 kill_myself_with_sig(- code); /* does not return */
179 exit(code);
178} 180}
179 181
180/* Move the cursor to a position (x,y), where (0,0) is the 182/* Move the cursor to a position (x,y), where (0,0) is the
@@ -1328,9 +1330,9 @@ static void keypress_process(int keypress)
1328 number_process(keypress); 1330 number_process(keypress);
1329} 1331}
1330 1332
1331static void sig_catcher(int sig ATTRIBUTE_UNUSED) 1333static void sig_catcher(int sig)
1332{ 1334{
1333 less_exit(1) /* TODO: "suicide mode" for code == -signal */ 1335 less_exit(- sig);
1334} 1336}
1335 1337
1336int less_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 1338int less_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;