mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-03-15 15:05:27 +08:00
Revert "Use BC_LINE_LENGTH=2 for bc."
This would fail on very long numbers, e.g. `math "1 + 1233242342353453463458972349873489273984873289472914712894791824712941"` would now return "42", where it previously returned the correct "1233242342353453463458972349873489273984873289472914712894791824712942". This reverts commit 26e781ef5a66a776310a4a47ef02f122e1dc0170.
This commit is contained in:
parent
bd93a9e6ff
commit
11f4e64e45
@ -21,12 +21,9 @@ function math --description "Perform math calculations in bc"
|
||||
return 2 # no arguments is an error
|
||||
end
|
||||
|
||||
# With BC_LINE_LENGTH set to 2, the first line is a slash and the following line can be arbitrarily long.
|
||||
# We can't set this to 0 because some systems don't have a new enough version of bc.
|
||||
set -lx BC_LINE_LENGTH 2
|
||||
set -l out (echo "scale=$scale; $argv" | bc)
|
||||
set -q out[2]
|
||||
and set out $out[2]
|
||||
# Stitch lines together manually. We can't rely on BC_LINE_LENGTH because some systems don't
|
||||
# have a new enough version of bc.
|
||||
set -l out (echo "scale=$scale; $argv" | bc | string replace -r '\\\\$' '' | string join '')
|
||||
switch "$out"
|
||||
case ''
|
||||
# No output indicates an error occurred.
|
||||
|
Loading…
x
Reference in New Issue
Block a user