diff options
author | Paul Smith <psmith@gnu.org> | 2000-07-30 18:26:42 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2000-07-30 18:26:42 +0000 |
commit | 1a82956eaeb7ba5fde121755d0042c42c2043069 (patch) | |
tree | 428a6561e292db9ab7285023d9e9727eaeac2be1 /remake.c | |
parent | 3c132f10f39f1675607d50f5c75669ec64e13bb5 (diff) | |
download | gunmake-1a82956eaeb7ba5fde121755d0042c42c2043069.tar.gz |
* Various fixes; see the ChangeLog.
Diffstat (limited to 'remake.c')
-rw-r--r-- | remake.c | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -396,14 +396,15 @@ update_file_1 (file, depth) noexist = this_mtime == NONEXISTENT_MTIME; if (noexist) DBF (DB_BASIC, _("File `%s' does not exist.\n")); - else + else if (ORDINARY_MTIME_MIN <= this_mtime && this_mtime <= ORDINARY_MTIME_MAX + && file->low_resolution_time) { -#ifndef NO_ARCHIVES - /* Avoid spurious rebuilds of archive members due to their - timestamp resolution being only one second. */ - if (1 < FILE_TIMESTAMPS_PER_S && ar_name (file->name)) - this_mtime += FILE_TIMESTAMPS_PER_S - 1; -#endif + /* Avoid spurious rebuilds due to low resolution time stamps. */ + int ns = FILE_TIMESTAMP_NS (this_mtime); + if (ns != 0) + error (NILF, _("*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"), + file->name); + this_mtime += FILE_TIMESTAMPS_PER_S - 1 - ns; } must_make = noexist; @@ -1106,6 +1107,8 @@ f_mtime (file, search) free (arname); free (memname); + file->low_resolution_time = 1; + if (mtime == NONEXISTENT_MTIME) /* The archive doesn't exist, so its members don't exist either. */ return NONEXISTENT_MTIME; |