From 8025f93312d53e0edc77677fe3c99e6e3b965991 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Mon, 5 Nov 2007 14:15:19 +0000 Subject: [PATCH] For mod times farther in the future, print the value in fixed-point rather than exponential notation (patch from Bruno Haible). --- AUTHORS | 1 + ChangeLog | 5 +++++ remake.c | 10 ++++++++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/AUTHORS b/AUTHORS index e6b78da8..647e5777 100644 --- a/AUTHORS +++ b/AUTHORS @@ -60,6 +60,7 @@ Other contributors: Andreas Schwab Carl Staelin (Princeton University) Ian Stewartson (Data Logic Limited) + Ramon Garcia Fernandez With suggestions/comments/bug reports from a cast of ... well ... hundreds, anyway :) diff --git a/ChangeLog b/ChangeLog index 64cdae34..a99484f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,11 @@ * commands.c, file.c, job.c, remake.c, read.c, variable.c, main.c: Ditto. +2007-10-27 Bruno Haible + + * remake.c (f_mtime): Print time difference values between 100 and + ULONG_MAX in fixed-point notation rather than in exponention notation. + 2007-10-12 Eli Zaretskii * variable.c (do_variable_definition): Allow $(SHELL) to expand to diff --git a/remake.c b/remake.c index 687b9d22..2dad3f01 100644 --- a/remake.c +++ b/remake.c @@ -1302,8 +1302,14 @@ f_mtime (struct file *file, int search) (FILE_TIMESTAMP_S (mtime) - FILE_TIMESTAMP_S (now) + ((FILE_TIMESTAMP_NS (mtime) - FILE_TIMESTAMP_NS (now)) / 1e9)); - error (NILF, _("Warning: File `%s' has modification time %.2g s in the future"), - file->name, from_now); + char from_now_string[100]; + + if (from_now >= 99 && from_now <= ULONG_MAX) + sprintf (from_now_string, "%lu", (unsigned long) from_now); + else + sprintf (from_now_string, "%.2g", from_now); + error (NILF, _("Warning: File `%s' has modification time %s s in the future"), + file->name, from_now_string); #endif clock_skew_detected = 1; }