aboutsummaryrefslogtreecommitdiffstats
path: root/msg.c
diff options
context:
space:
mode:
Diffstat (limited to 'msg.c')
-rw-r--r--msg.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/msg.c b/msg.c
index e651c8c1..78818187 100644
--- a/msg.c
+++ b/msg.c
@@ -64,15 +64,16 @@ err(const char *s, const char *emsg, va_list argp)
}
#ifdef HAVE_MPFR
- if (FNR_node && (FNR_node->var_value->flags & MPFN) != 0) {
- mpg_update_var(FNR_node);
- mpfr_get_z(mpzval, FNR_node->var_value->mpg_numbr, MPFR_RNDZ);
- if (mpz_sgn(mpzval) > 0) {
+ if (FNR_node && is_mpg_number(FNR_node->var_value)) {
+ NODE *val;
+ val = mpg_update_var(FNR_node);
+ assert((val->flags & MPZN) != 0);
+ if (mpz_sgn(val->mpg_i) > 0) {
file = FILENAME_node->var_value->stptr;
(void) putc('(', stderr);
if (file)
(void) fprintf(stderr, "FILENAME=%s ", file);
- (void) mpfr_fprintf(stderr, "FNR=%Zd) ", mpzval);
+ (void) mpfr_fprintf(stderr, "FNR=%Zd) ", val->mpg_i);
}
} else
#endif