diff options
Diffstat (limited to 'miscutils/less.c')
-rw-r--r-- | miscutils/less.c | 8 |
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 | ||
1331 | static void sig_catcher(int sig ATTRIBUTE_UNUSED) | 1333 | static 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 | ||
1336 | int less_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 1338 | int less_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |