Vendor import of Gavin D. Howard's bc version 4.0.2

This commit is contained in:
Stefan Eßer 2021-05-12 07:35:58 +02:00
parent bd13672003
commit 2858419a0e
6 changed files with 19 additions and 5 deletions

View File

@ -1,5 +1,14 @@
# News # News
## 4.0.2
This is a production release that fixes two bugs:
1. If no files are used and the first statement on `stdin` is invalid, `scale`
would not be set to `20` even if `-l` was used.
2. When using history, `bc` failed to respond properly to `SIGSTOP` and
`SIGTSTP`.
## 4.0.1 ## 4.0.1
This is a production release that only adds one thing: flushing output when it This is a production release that only adds one thing: flushing output when it

View File

@ -165,6 +165,7 @@ typedef enum BcHistoryAction {
BC_ACTION_ENTER = 13, BC_ACTION_ENTER = 13,
BC_ACTION_CTRL_N = 14, BC_ACTION_CTRL_N = 14,
BC_ACTION_CTRL_P = 16, BC_ACTION_CTRL_P = 16,
BC_ACTION_CTRL_S = 19,
BC_ACTION_CTRL_T = 20, BC_ACTION_CTRL_T = 20,
BC_ACTION_CTRL_U = 21, BC_ACTION_CTRL_U = 21,
BC_ACTION_CTRL_W = 23, BC_ACTION_CTRL_W = 23,

View File

@ -36,6 +36,6 @@
#ifndef BC_VERSION_H #ifndef BC_VERSION_H
#define BC_VERSION_H #define BC_VERSION_H
#define VERSION 4.0.1 #define VERSION 4.0.2
#endif // BC_VERSION_H #endif // BC_VERSION_H

View File

@ -1281,8 +1281,11 @@ static BcStatus bc_history_edit(BcHistory *h, const char *prompt) {
default: default:
{ {
if (c >= BC_ACTION_CTRL_A && c <= BC_ACTION_CTRL_Z) if (c >= BC_ACTION_CTRL_A && c <= BC_ACTION_CTRL_Z) {
bc_history_printCtrl(h, c); bc_history_printCtrl(h, c);
if (c == BC_ACTION_CTRL_Z) raise(SIGTSTP);
if (c == BC_ACTION_CTRL_S) raise(SIGSTOP);
}
else bc_history_edit_insert(h, cbuf, nread); else bc_history_edit_insert(h, cbuf, nread);
break; break;
} }

View File

@ -835,6 +835,8 @@ static void bc_vm_exec(void) {
#if BC_ENABLE_EXTRA_MATH #if BC_ENABLE_EXTRA_MATH
if (!BC_IS_POSIX) bc_vm_load(bc_lib2_name, bc_lib2); if (!BC_IS_POSIX) bc_vm_load(bc_lib2_name, bc_lib2);
#endif // BC_ENABLE_EXTRA_MATH #endif // BC_ENABLE_EXTRA_MATH
bc_program_exec(&vm.prog);
} }
#endif // BC_ENABLED #endif // BC_ENABLED

View File

@ -138,7 +138,7 @@ else
set +e set +e
printf 'three\n' | head -c3 > /dev/null printf 'three\n' | cut -c1-3 > /dev/null
err=$? err=$?
if [ "$err" -eq 0 ]; then if [ "$err" -eq 0 ]; then
@ -156,8 +156,7 @@ else
printf '4 April 2021\n' > "$easter_res" printf '4 April 2021\n' > "$easter_res"
"$testdir/dc/scripts/easter.sh" "$exe" 2021 | head -c12 > "$easter_out" "$testdir/dc/scripts/easter.sh" "$exe" 2021 | cut -c1-12 > "$easter_out"
printf '\n' >> "$easter_out"
err="$?" err="$?"
checktest "$d" "$err" "Easter script" "$easter_res" "$easter_out" checktest "$d" "$err" "Easter script" "$easter_res" "$easter_out"