| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
This update fixes a few bugs:
- Improper response to double SIGINT with editline.
- Not letting libedit handle terminal size changes.
- A dc crash from improperly handling an error.
- A duplicate check for reference arrays.
- Build failures with GCC 15.
Merge commit '682da5a0fdb2c38ecc3951047a882471d62aa1d1'
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This update fixes exiting from an interactive bc session with ^D on
FreeBSD and Linux when using editline.
This bug was caused by the macOS fix for editline in version 7.0.0,
which has been reverted in this version.
(cherry picked from commit c2c85f88902d18d2e9702381f1628112e15a5c3c)
MFC after: 3 days
Reported by: mack@macktronics.com
|
| |
|
|
|
|
|
|
| |
This update fixes building bc on FreeBSD with non-default compilers
(GCC-12, GCC-13). GCC warned about casting argv from non-const to const
and since warnings are treated as errors, the build failed.
(cherry picked from commit 1e19146fc7692f59e8dfc5da7957e938cd0b81b8)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Building with GCC failed with the following error message:
error: to be safe all intermediate pointers in cast from 'char **'
to 'const char **' must be 'const' qualified [-Werror=cast-qual]
This was caused by main() being declared with "char *argv[]" as the
3rd parameter, but argv later being passed cast to "const char**":
113 | if (BC_IS_BC) s = bc_main(argc, (const char**) argv);
| ^
This is fixed by declaring the 3rd parameter of main() as "const
char *argv[]".
Reported by: CI
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a production release to fix three bugs, none of which
affects well formed scripts on FreeBSD:
The first bug is that bc/dc will exit on macOS when the terminal
is resized.
The second bug is that an array, which should only be a function
parameter, was accepted as part of larger expressions.
The third bug is that the value stack for dc was cleared on any error.
However, this is not how other dc behave. To bring dc more in line
with other implementations, this behavior was changed. This change is
why this version is a new major version.
(cherry picked from commit 54d20d67e2af28d948ce2df13feb039fa10900fc)
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This update fixes a potential issue when flushing stdout on exit
fails: longjmp could use an uninitialized target address variable.
Most files are included in this commit due to a changed date in
the copyright note.
(cherry picked from commit 52a5ec1b178fd07651446c7e31b1512794a04dbf)
MFC after: 3 days
|
| |
|
|
|
|
|
|
| |
This update fixes a bug that line breaks in printed numbers may not
match the line length set by the user. The value is printed correctly,
just not split as specified in some situations.
(cherry picked from commit 52a5ec1b178fd07651446c7e31b1512794a04dbf)
|
| |
|
|
|
|
| |
Documentation updates only, no functional changes to the software.
(cherry picked from commit a3f3a7b4dc80d577e4c8fc64dfbbb359d2e24228)
|
| |
|
|
|
|
|
|
| |
This update improves the implementation of the power function p() and
adds 3 new functions to the extended math library: min(), max(), and
i2rand().
(cherry picked from commit 0b4a06ab29a0da80f6cb5c99189054cb8e2f756c)
|
| |
|
|
|
|
|
|
|
|
| |
This update removes printing of a leading zero in scientific or
engineering output modes (which are an extended feature of this
implementation).
(cherry-picked from commit 8b83ef067441f6d3a4a55e92d1738724954a057c)
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
|
|
|
| |
This release that fixes an infinite loop bug in the (non-standard)
extended math library functions root() and cbrt(), fixes a bug with
BC_LINE_LENGTH=0, and adds the fib() function to the extended math
library to calculate Fibonacci numbers.
(cherry picked from commit 438a1101dc1f687928cdbe02cd7817a88a24f42f)
MFC after: 3 days
|
| |
|
|
|
|
|
|
| |
This version contains a fix for an issue that can affect complex
bc scripts that use multiple read() functions that receive input from
an interactive user. The same value could be returned multiple times.
MFC after: 2 weeks
|
| |
|
|
|
|
|
| |
This version adds a command to dc to query whether extended registers
are enabled or not.
(cherry picked from commit 61e1a12bb6c3bfdb0a4e499c88e8eaa2b548e427)
|
| |
|
|
|
|
|
|
| |
This update contains only documentation changes (new main repository
URL and changed mail address of the program author) and changes to
the build system that do not affect the FreeBSD base system build.
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This update fixes a few issues in history editing and the processing
of the "quit" function. The "quit" function will no longer cause bc
to exit when encountered in a script file (before any command from
the script has been executed).
New functions is_number(), is_string return 1 if the passed argument
is a number resp. a string. The asciify() function has been extended
to support the conversion of an array of numbers into a string.
Merge commit '1a63323d17fedb05b6962853e821c9d7c6b9853e'
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The filter_text function in scripts/functions.sh in version 5.3.3 had
commented out a "rm" command, probably for debugging purposes. This
caused temporary files to persist in /tmp when the bc program had been
built.
This commit fixes the build process with no change of the resulting
artefacts.
(cherry picked from commit 1576f66712876ee8b0fcc8b35fb062e1813b4fc0)
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
| |
This update fixes a build issue of release 5.3.2 on the FreeBSD base
system.
Merge commit '3f739b0595b7d6ac4bac9aaa1cae0910f11f92e2'
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This version adds support for command line editing and history using
the libedit or readline libraries in addition to the line editing
features available in previous versions.
The version in the base system is configured to use libedit.
This allows to choose between emacs and vi line editing commands and
to use command overrides via a ~/.editrc file.
Merge commit 'bd54318046bfee055b140705a5cfd4148e78da07'
PR: 264010
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
|
| |
This is a production release that fixes this bc's behavior on ^D to
match GNU bc.
Merge commit 'ed0603704174b01c25b49efc08c82e1532dc5622'
MFC after: 3 days
|
| |
|
|
| |
This commit was executed by accident while testing the new version.
|
| |
|
|
|
|
|
| |
This is a production release that fixes this bc's behavior on ^D to
match GNU bc.
(cherry picked from commit ed0603704174b01c25b49efc08c82e1532dc5622)
|
| |
|
|
|
|
|
|
| |
This update fixes an issue in input line editing: when going left to
the start of the line, the cursor would jump to the end of the line
instead.
Merge commit 'bc75dcc4ce682562390fa32e7cd63c08160e21b9'
|
| |
|
|
|
|
|
| |
This chunk should have been committed with the MFV commit
23210c9f42af94dc but was missing for an unknown reasn.
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
| |
This version fixes a parse error when passing a file to bc using -f
if that file has a multiline comment or string in it.
Merge commit '3673adf1ee311d6f83176d3e43cf0efb314764e4'
MFC after: 3 days
|
| |
|
|
|
|
|
|
| |
This release assigns a default value to the internal program name
variable in case the program is invoked with argv[0] == NULL.
There was no security issue: the prevuous program version would have
been immediately terminated due to a NULL dereference.
|
| |
|
|
| |
Merge commit 'e63540eed295749528548c2e3a90f5a6e57275c8'
|
| |
|
|
| |
Merge commit '6f49f5cdde1c62c4e5a743e895f3afe592b5c0e5'
|
| |
|
|
|
|
|
|
|
|
| |
This version adds options and functions that allow to print numbers
in the open interval (-1 .. 1) with or without a leading 0 digit.
Additionally, an option has been added to prevent line wrap and
allows to print arbitrarily long results on a single line.
Merge commit '5d58a51571721190681c50d4bd3a1f45e6282d72'
|
| |
|
|
|
| |
These files will be added back in updated form, but are only relevant
for the Windows platform, anyway.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A number of files have been removed from the release distribution of
this bc implementation. They were mostly relevant for pre release
testing and benchmarking to identify regressions. The Markdown
sources of the man pages are only relevant for combinations of build
options not used in FreeBSD and need non-default conversion tools
(available as ports in FreeBSD).
All the omitted files can be found in the upstream git repository,
and they are fetched when building this software as a port. But they
have never been used in the FreeBSD base system.
|
| |
|
|
| |
(cherry picked from commit a60ef1802a36f2f2a5611564191440ea1c1e2f17)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge commit 2f57ecae4b98e76e5d675563785a7e6c59c868c4
This is a new major release with a number of changes and extensions:
- Limited the number of temporary numbers and made the space for them
static so that allocating more space for them cannot fail.
- Allowed integers with non-zero scale to be used with power, places,
and shift operators.
- Added greatest common divisor and least common multiple to lib2.bc.
- Made bc and dc UTF-8 capable.
- Added the ability for users to have bc and dc quit on SIGINT.
- Added the ability for users to disable prompt and TTY mode by
environment variables.
- Added the ability for users to redefine keywords.
- Added dc's modular exponentiation and divmod to bc.
- Added the ability to assign strings to variables and array elements
and pass them to functions in bc.
- Added dc's asciify command and stream printing to bc.
- Added bitwise and, or, xor, left shift, right shift, reverse,
left rotate, right rotate, and mod functions to lib2.bc.
- Added the functions s2u(x) and s2un(x,n), to lib2.bc.
MFC after: 1 week
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge commit '2858419a0ee2b8f5827de72c00618bcd69ebc5fc'
This update fixes the initialization of "scale" to 20 if started with
-l and the initial statement leads to an error (e.g. contains a syntax
error). Scale was initialized to 0 in that case.
Another change is the support of job control in interactive mode with
line editing enabled. The control characters have been interpreted as
editing commands only, prior to this version.
MFC after: 3 days
|
| |
|
|
|
| |
The update had been performed on a check-out of the vendor branch,
but the final push lacked the target designation vendor/bc.
|
| | |
|
| |
|
|
|
|
| |
From a workdir perspective this should be a no-op.
See also:
https://lists.freebsd.org/pipermail/freebsd-current/2021-April/079569.html
|
| |
|
|
|
|
| |
usr.bin/bc: update to version 4.0.1
This update adds a flush() of the output buffer to the bc print command.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update to version 4.0.0
This version fixes an issue (missing pop of top-of-stack value in the
"P" command of the dc program).
This issue did not affect the bc program, since it does not use dc as
an back-end to actually perform the calculations as was the case with
the traditional bc and dc programs.
The major number has been bumped due to Windows support that has been
added to this version. It does not correspond to a major change that
might affect FreeBSD.
|
| |
|
|
|
|
|
|
| |
This upgrade performs an implicit flush of the output if the script
funcion read() is called, to make sure a prompt that does not end in a
new-line is correctly displayed in line-buffered output mode.
Merge commit '893ecb52db5ed47d6c1e8698334d34e0df651612'
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This update changes the behavior of "-e" or "-f" in BC_ENV_ARGS:
Use of these options on the command line makes bc exit after executing
the given commands. These options will not cause bc to exit when
passed via the environment (but EOF in STDIN or -e or -f on the
command line will make bc exit as before).
The same applies to DC_ENV_ARGS with regard to the dc program.
|
| |
|
|
|
|
| |
Update to version 3.2.6
MFC after: 3 days
|
| | |
|
| |
|
|
| |
Notes:
svn path=/head/; revision=368387
|
| |
|
|
| |
Notes:
svn path=/head/; revision=368072
|
| |
|
|
|
|
|
|
| |
This upgrade addresses one (benign) compiler warning when building with
LLVM-12.
Notes:
svn path=/head/; revision=366318
|
| |
|
|
|
|
|
|
| |
This version fixes some entries in the chinese message catalogs which could
lead to program crashes when used.
Notes:
svn path=/head/; revision=363915
|
| |
|
|
|
|
|
|
|
|
|
| |
This version omits the printing of a copyright header in interactive mode
and the dc command now exits after execution of the commands passed via -e
or -f instead of switching to interactive mode. To pass further commands
via STDIN when dc has been invoked with -e or -f, add "-f -" to the
parameter list.
Notes:
svn path=/head/; revision=363810
|
| |
|
|
|
|
|
|
| |
I guess this didn't like the case statements.. ? But this does quieten
the compiler error.
Notes:
svn path=/head/; revision=363172
|
| |
|
|
|
|
|
|
|
| |
This version fixes the following evaluation, which lead to a parse error:
echo "if (1 < 3) 1" | bc
Notes:
svn path=/head/; revision=363091
|