diff options
Diffstat (limited to 'msg.c')
-rw-r--r-- | msg.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -62,6 +62,21 @@ err(const char *s, const char *emsg, va_list argp) (void) fprintf(stderr, "%d: ", sourceline); } + +#ifdef HAVE_MPFR + 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) ", val->mpg_i); + } + } else +#endif if (FNR > 0) { file = FILENAME_node->var_value->stptr; (void) putc('(', stderr); @@ -69,6 +84,7 @@ err(const char *s, const char *emsg, va_list argp) (void) fprintf(stderr, "FILENAME=%s ", file); (void) fprintf(stderr, "FNR=%ld) ", FNR); } + (void) fprintf(stderr, "%s", s); vfprintf(stderr, emsg, argp); (void) fprintf(stderr, "\n"); |