> Date: Fri, 21 Jul 2006 19:59:58 +0300
> From: Eli Zaretskii <[EMAIL PROTECTED]>
> Cc: [email protected], [EMAIL PROTECTED]
>
> So the question is not why 21.3 succeeded whereas 22.0 fails, but
> rather how come the results returned by Emacs are one second off. I
> will try to look into this, but anyone is invited to beat me to it.
Bug squashed, I think. The patch is below (I already committed it to
CVS); please see if this solves the problem.
2006-07-21 Eli Zaretskii <[EMAIL PROTECTED]>
* w32.c (convert_time): Use explicit long double constants to
ensure long double arithmetics is used throughout.
Index: src/w32.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/w32.c,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -p -r1.104 -r1.105
--- src/w32.c 14 Jul 2006 14:18:40 -0000 1.104
+++ src/w32.c 21 Jul 2006 17:27:34 -0000 1.105
@@ -2256,16 +2256,17 @@ convert_time (FILETIME ft)
SystemTimeToFileTime (&st, &utc_base_ft);
utc_base = (long double) utc_base_ft.dwHighDateTime
- * 4096 * 1024 * 1024 + utc_base_ft.dwLowDateTime;
+ * 4096.0L * 1024.0L * 1024.0L + utc_base_ft.dwLowDateTime;
init = 1;
}
if (CompareFileTime (&ft, &utc_base_ft) < 0)
return 0;
- ret = (long double) ft.dwHighDateTime * 4096 * 1024 * 1024 +
ft.dwLowDateTime;
+ ret = (long double) ft.dwHighDateTime
+ * 4096.0L * 1024.0L * 1024.0L + ft.dwLowDateTime;
ret -= utc_base;
- return (time_t) (ret * 1e-7);
+ return (time_t) (ret * 1e-7L);
}
void
_______________________________________________
emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug