9ba2645aa7
32 bits, so subsequent compile time assertion: sizeof inf->stat.st_mtime <= sizeof sec Would fail because of that. This change is suitable for general consumption as well, but fix it in our local patchset as we are near a code freeze. Submitted by: cognet
29 lines
1.1 KiB
Diff
29 lines
1.1 KiB
Diff
$FreeBSD$
|
|
--- context.c.orig 2004-04-12 15:44:35.000000000 +0800
|
|
+++ context.c 2007-06-16 22:25:11.705063242 +0800
|
|
@@ -29,7 +29,7 @@
|
|
# define TIMESPEC_NS(timespec) 0
|
|
#endif
|
|
|
|
-size_t nstrftime (char *, size_t, char const *, struct tm const *, int, int);
|
|
+size_t nstrftime (char *, size_t, char const *, struct tm const *, int, long);
|
|
|
|
static char const *find_function (char const * const *, lin);
|
|
static struct change *find_hunk (struct change *);
|
|
@@ -57,12 +57,12 @@
|
|
char buf[MAX (INT_STRLEN_BOUND (int) + 32,
|
|
INT_STRLEN_BOUND (time_t) + 11)];
|
|
struct tm const *tm = localtime (&inf->stat.st_mtime);
|
|
- int nsec = TIMESPEC_NS (inf->stat.st_mtim);
|
|
+ long nsec = TIMESPEC_NS (inf->stat.st_mtimespec);
|
|
if (! (tm && nstrftime (buf, sizeof buf, time_format, tm, 0, nsec)))
|
|
{
|
|
- long int sec = inf->stat.st_mtime;
|
|
+ time_t sec = inf->stat.st_mtime;
|
|
verify (info_preserved, sizeof inf->stat.st_mtime <= sizeof sec);
|
|
- sprintf (buf, "%ld.%.9d", sec, nsec);
|
|
+ sprintf (buf, "%jd.%.9d", (intmax_t)sec, nsec);
|
|
}
|
|
fprintf (outfile, "%s %s\t%s\n", mark, inf->name, buf);
|
|
}
|