aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/dc/inout.c
diff options
context:
space:
mode:
authorKevin Lo <kevlo@FreeBSD.org>2012-12-30 15:20:27 +0000
committerKevin Lo <kevlo@FreeBSD.org>2012-12-30 15:20:27 +0000
commitc3761c3848a0c3785259c94cf718ba2cd210f0c6 (patch)
treeaafa60684583a9da134a4a2b9ea3cc5d2c1b1ba7 /usr.bin/dc/inout.c
parent2befb3613f80540a8419df8af96bc5bf282354de (diff)
Notes
Diffstat (limited to 'usr.bin/dc/inout.c')
-rw-r--r--usr.bin/dc/inout.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/usr.bin/dc/inout.c b/usr.bin/dc/inout.c
index 4a2bb701be6a..e35f0ad45942 100644
--- a/usr.bin/dc/inout.c
+++ b/usr.bin/dc/inout.c
@@ -322,7 +322,7 @@ printnumber(FILE *f, const struct number *b, u_int base)
i++;
}
sz = i;
- if (BN_cmp(b->number, &zero) < 0)
+ if (BN_is_negative(b->number))
putcharwrap(f, '-');
for (i = 0; i < sz; i++) {
p = stack_popstring(&stack);
@@ -353,7 +353,8 @@ printnumber(FILE *f, const struct number *b, u_int base)
putcharwrap(f, ' ');
i = 1;
- bmul_number(fract_part, fract_part, num_base);
+ bmul_number(fract_part, fract_part, num_base,
+ bmachine_scale());
split_number(fract_part, int_part->number, NULL);
rem = BN_get_word(int_part->number);
p = get_digit(rem, digits, base);
@@ -402,8 +403,8 @@ print_ascii(FILE *f, const struct number *n)
v = BN_dup(n->number);
bn_checkp(v);
- if (BN_cmp(v, &zero) < 0)
- bn_check(BN_sub(v, &zero, v));
+ if (BN_is_negative(v))
+ BN_set_negative(v, 0);
numbits = BN_num_bytes(v) * 8;
while (numbits > 0) {