ash: make interactive ^C break out of PS2 mode
No binary (build failed)
—
(log yok)
| @@ -10593,7 +10593,7 @@ preadfd(void) | |
| g_parsefile->next_to_pgetc = buf; | |
| #if ENABLE_FEATURE_EDITING | |
| - | retry: |
| + | /* retry: */ |
| if (!iflag || g_parsefile->pf_fd != STDIN_FILENO) | |
| nr = nonblock_immune_read(g_parsefile->pf_fd, buf, IBUFSIZ - 1); | |
| else { | |
| @@ -10615,15 +10615,14 @@ preadfd(void) | |
| if (nr == 0) { | |
| /* ^C pressed, "convert" to SIGINT */ | |
| write(STDOUT_FILENO, "^C", 2); | |
| + | raise(SIGINT); |
| if (trap[SIGINT]) { | |
| buf[0] = '\n'; | |
| buf[1] = '\0'; | |
| - | raise(SIGINT); |
| return 1; | |
| } | |
| exitstatus = 128 + SIGINT; | |
| - | bb_putchar('\n'); |
| - | goto retry; |
| + | return -1; |
| } | |
| if (nr < 0) { | |
| if (errno == 0) { | |