Fix bug that created POSIX error on signal
diff --git a/src/program.c b/src/program.c
index b4a22b9..5c8bac7 100644
--- a/src/program.c
+++ b/src/program.c
@@ -1057,10 +1057,13 @@
bcg.sigc += bcg.signe;
bcg.signe = bcg.sig != bcg.sigc;
- if ((!status || status == BC_STATUS_EXEC_SIGNAL) && bcg.tty) {
- status = BC_STATUS_SUCCESS;
- fprintf(stderr, "%s", bc_program_ready_prompt);
- fflush(stderr);
+ if (!status || status == BC_STATUS_EXEC_SIGNAL) {
+ if (bcg.tty) {
+ fprintf(stderr, "%s", bc_program_ready_prompt);
+ fflush(stderr);
+ status = BC_STATUS_SUCCESS;
+ }
+ else status = BC_STATUS_QUIT;
}
return status;