math: Join lines manually

This is an issue with 15-year old versions of bc that don't support BC_LINE_LENGTH.

Closes #2548
This commit is contained in:
Fabian Homborg 2015-11-19 12:04:21 +01:00
parent 5db811253e
commit 3e0ff6db2a

View file

@ -7,9 +7,10 @@ function math --description "Perform math calculations in bc"
return 0
end
set -lx BC_LINE_LENGTH 0
set -l out (echo $argv | bc)
test -z "$out"; and return 1
# Stitch lines together manually
# we can't rely on BC_LINE_LENGTH because some systems don't have a bc version "new" enough
set -l out (echo $argv | bc | string replace -r '\\\\$' '' | string join '')
test -z "$out"; and return 1
echo $out
switch $out
case 0