aboutsummaryrefslogtreecommitdiff
path: root/contrib/bc
Commit message (Collapse)AuthorAgeFilesLines
* contrib/bc upgrade to version 7.1.0Stefan Eßer2025-09-11713-3012/+28218
| | | | | | | | | | | 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'
* vendor/bc: upgrade to version 7.0.2Stefan Eßer2024-09-1816-26/+69
| | | | | | | | | | | | | 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
* vendor/bc: upgrade to version 7.0.1Stefan Eßer2024-08-282-1/+7
| | | | | | | | 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)
* contrib/bc: fix build with GCCStefan Eßer2024-08-271-1/+1
| | | | | | | | | | | | | | | | | | | 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
* vendor/bc: upgrade to version 7.0.0Stefan Eßer2024-08-2649-133/+835
| | | | | | | | | | | | | | | | | | | | 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
* contrib/bc: upgrade to version 6.7.6Stefan Eßer2024-07-09140-4236/+4449
| | | | | | | | | | | | 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
* vendor/bc: upgrade to version 6.7.5Stefan Eßer2024-01-1018-22/+1200
| | | | | | | | 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)
* vendor/bc: upgrade to version 6.7.4Stefan Eßer2024-01-1024-1133/+392
| | | | | | Documentation updates only, no functional changes to the software. (cherry picked from commit a3f3a7b4dc80d577e4c8fc64dfbbb359d2e24228)
* vendor/bc: upgrade to version 6.7.2Stefan Eßer2024-01-1031-82/+1390
| | | | | | | | 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)
* contrib/bc: upgrade to version 6.6.0Stefan Eßer2023-05-2516-34/+674
| | | | | | | | | | 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
* contrib/bc: import version 6.5.0Stefan Eßer2023-04-3013-8/+473
| | | | | | | | | | | 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
* contrib/bc: update to version 6.4.0Stefan Eßer2023-03-1016-443/+1693
| | | | | | | | 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
* vendor/bc: import version 6.3.1Stefan Eßer2023-02-2477-294/+442
| | | | | | | This version adds a command to dc to query whether extended registers are enabled or not. (cherry picked from commit 61e1a12bb6c3bfdb0a4e499c88e8eaa2b548e427)
* contrib/bc: uodate to version 6.2.4Stefan Eßer2023-02-0658-115/+469
| | | | | | | | 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
* contrib/bc: merge from vendor release 6.2.2Stefan Eßer2023-01-28176-6440/+14121
| | | | | | | | | | | | | 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'
* vendor/bc: update to upstream commit ca53adf83b7aStefan Eßer2022-06-221-13/+10
| | | | | | | | | | | | | | 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
* contrib/bc: merge from vendor release 5.3.3Stefan Eßer2022-06-15126-15952/+232
| | | | | | | | | This update fixes a build issue of release 5.3.2 on the FreeBSD base system. Merge commit '3f739b0595b7d6ac4bac9aaa1cae0910f11f92e2' MFC after: 2 weeks
* usr.bin/bc: update to version 5.3.1Stefan Eßer2022-06-1192-4648/+9122
| | | | | | | | | | | | | | | | | 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
* contrib/bc: update to version 5.2.5Stefan Eßer2022-05-106-7/+37
| | | | | | | | | This is a production release that fixes this bc's behavior on ^D to match GNU bc. Merge commit 'ed0603704174b01c25b49efc08c82e1532dc5622' MFC after: 3 days
* contrib/bc: revert commit f4ff1c300ef40Stefan Eßer2022-05-106-37/+7
| | | | This commit was executed by accident while testing the new version.
* vendor/bc: import of version 5.2.5Stefan Eßer2022-05-106-7/+37
| | | | | | | This is a production release that fixes this bc's behavior on ^D to match GNU bc. (cherry picked from commit ed0603704174b01c25b49efc08c82e1532dc5622)
* contrib/bc: import version 5.2.4Stefan Eßer2022-04-175-5/+60
| | | | | | | | 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'
* contrib/bc: include assert.h when building with C11 or newerStefan Eßer2022-03-091-3/+0
| | | | | | | This chunk should have been committed with the MFV commit 23210c9f42af94dc but was missing for an unknown reasn. MFC after: 3 days
* contrib/bc: update to version 5.2.3Stefan Eßer2022-03-07136-84/+16127
| | | | | | | | | 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
* vendor/bc: import release 5.2.2Stefan Eßer2022-02-057-9/+46
| | | | | | | | 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.
* contrib/bc: merge version 5.2.1 from vendor branchStefan Eßer2021-11-3094-361/+1241
| | | | Merge commit 'e63540eed295749528548c2e3a90f5a6e57275c8'
* contrib/bc: update to version 5.1.1Stefan Eßer2021-10-0616-49/+230
| | | | Merge commit '6f49f5cdde1c62c4e5a743e895f3afe592b5c0e5'
* contrib/bc: merge version 5.1.0 from vendor branchStefan Eßer2021-10-0485-368/+3751
| | | | | | | | | | 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'
* Remove files that were checked in with wrong .gitattributesStefan Eßer2021-10-044-717/+0
| | | | | These files will be added back in updated form, but are only relevant for the Windows platform, anyway.
* contrib/bc: remove files ommitted from the releaseStefan Eßer2021-10-0437-8870/+0
| | | | | | | | | | | | | 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.
* vendor/bc: update to upstream version 5.0.2Stefan Eßer2021-10-0415-49/+73
| | | | (cherry picked from commit a60ef1802a36f2f2a5611564191440ea1c1e2f17)
* usr.bin/ghä-bc, contrib/bc: update to version 5.0.0Stefan Eßer2021-08-13427-73074/+54561
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* contrib/bc: update to version 4.0.2Stefan Eßer2021-05-126-5/+19
| | | | | | | | | | | | | | 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
* Revert "Vendor import of Gavin D. Howard's bc version 4.0.2"Stefan Eßer2021-05-126-19/+5
| | | | | The update had been performed on a check-out of the vendor branch, but the final push lacked the target designation vendor/bc.
* Vendor import of Gavin D. Howard's bc version 4.0.2Stefan Eßer2021-05-126-5/+19
|
* Synch index of contrib/bc with what is in workdir after cloning.Michael Gmelin2021-04-294-713/+713
| | | | | | From a workdir perspective this should be a no-op. See also: https://lists.freebsd.org/pipermail/freebsd-current/2021-April/079569.html
* Merge commit 'bd136720030ebb0b31e6d5a2236b9d0ddac71b94'Stefan Eßer2021-04-256-1/+18
| | | | | | usr.bin/bc: update to version 4.0.1 This update adds a flush() of the output buffer to the bc print command.
* Merge commit '7a590c074ceede12b2b6e794f8703d6fa5749918'Stefan Eßer2021-04-06107-20097/+28943
| | | | | | | | | | | | | | | 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.
* bc: upgrade to version 3.3.4Stefan Eßer2021-03-194-10/+15
| | | | | | | | 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'
* bc: Vendor import new version 3.3.3Stefan Eßer2021-03-0584-1871/+2130
|
* Upgrade to version 3.3.0Stefan Eßer2021-02-1782-502/+1262
| | | | | | | | | | | 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.
* Merge commit '47a52dc4d48f259ab7d9f9ba6b65f4f2331a22dc'Stefan Eßer2021-01-31320-712/+6246
| | | | | | Update to version 3.2.6 MFC after: 3 days
* Import bc 3.2.4Stefan Eßer2020-12-277-56/+14
|
* Upgrade to version 3.2.3Stefan Eßer2020-12-064-3/+22
| | | | Notes: svn path=/head/; revision=368387
* Update to version 3.2.0Stefan Eßer2020-11-26117-23082/+26194
| | | | Notes: svn path=/head/; revision=368072
* Upgrade to version 3.1.6Stefan Eßer2020-10-017-6/+20
| | | | | | | | This upgrade addresses one (benign) compiler warning when building with LLVM-12. Notes: svn path=/head/; revision=366318
* Upgrade to version 3.1.5Stefan Eßer2020-08-059-37/+31
| | | | | | | | This version fixes some entries in the chinese message catalogs which could lead to program crashes when used. Notes: svn path=/head/; revision=363915
* Upgrade to version 3.1.4Stefan Eßer2020-08-0385-914/+737
| | | | | | | | | | | 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
* [bc] Fix a "maybe uninitialized" compiler warning under mips-gcc-6.3.0.Adrian Chadd2020-07-141-1/+1
| | | | | | | | I guess this didn't like the case statements.. ? But this does quieten the compiler error. Notes: svn path=/head/; revision=363172
* Update to version 3.1.3Stefan Eßer2020-07-1111-31/+114
| | | | | | | | | This version fixes the following evaluation, which lead to a parse error: echo "if (1 < 3) 1" | bc Notes: svn path=/head/; revision=363091