Vendor import of Gavin D. Howard's bc version 4.0.2
This commit is contained in:
parent
bd13672003
commit
2858419a0e
9
NEWS.md
9
NEWS.md
@ -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
|
||||||
|
@ -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,
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
2
src/vm.c
2
src/vm.c
@ -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
|
||||||
|
|
||||||
|
@ -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"
|
||||||
|
Loading…
Reference in New Issue
Block a user