Fix build on arm: time_t on arm is 64 bits while long is

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
This commit is contained in:
delphij 2007-06-17 00:43:50 +00:00
parent f9596e5996
commit 6a4276ae14

View File

@ -1,6 +1,6 @@
$FreeBSD$
--- context.c.orig 2004-04-12 15:44:35.000000000 +0800
+++ context.c 2007-06-15 14:51:05.497679903 +0800
+++ context.c 2007-06-16 22:25:11.705063242 +0800
@@ -29,7 +29,7 @@
# define TIMESPEC_NS(timespec) 0
#endif
@ -10,7 +10,7 @@ $FreeBSD$
static char const *find_function (char const * const *, lin);
static struct change *find_hunk (struct change *);
@@ -57,7 +57,7 @@
@@ -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);
@ -18,4 +18,11 @@ $FreeBSD$
+ 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;
- 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);
}