diff options
Diffstat (limited to 'msg.c')
-rw-r--r-- | msg.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -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 |