### (difftm): Simplify expression.

parent 9106ccf1
 ... @@ -611,26 +611,25 @@ and from `file-attributes'.") ... @@ -611,26 +611,25 @@ and from `file-attributes'.") /* Yield A - B, measured in seconds. */ /* Yield A - B, measured in seconds. */ static long static long difftm(a, b) difftm (a, b) struct tm *a, *b; struct tm *a, *b; { { int ay = a->tm_year + (TM_YEAR_ORIGIN - 1); int ay = a->tm_year + (TM_YEAR_ORIGIN - 1); int by = b->tm_year + (TM_YEAR_ORIGIN - 1); int by = b->tm_year + (TM_YEAR_ORIGIN - 1); return /* Some compilers can't handle this as a single return statement. */ ( int days = ( ( /* difference in day of year */ ( a->tm_yday - b->tm_yday /* difference in day of year */ /* + intervening leap days */ a->tm_yday - b->tm_yday + ((ay >> 2) - (by >> 2)) /* + intervening leap days */ - (ay/100 - by/100) + ((ay >> 2) - (by >> 2)) + ((ay/100 >> 2) - (by/100 >> 2)) - (ay/100 - by/100) /* + difference in years * 365 */ + ((ay/100 >> 2) - (by/100 >> 2)) + (long)(ay-by) * 365 /* + difference in years * 365 */ ); + (long)(ay-by) * 365 return (60*(60*(24*days + (a->tm_hour - b->tm_hour)) )*24 + (a->tm_hour - b->tm_hour) + (a->tm_min - b->tm_min)) )*60 + (a->tm_min - b->tm_min) + (a->tm_sec - b->tm_sec)); )*60 + (a->tm_sec - b->tm_sec); } } DEFUN ("current-time-zone", Fcurrent_time_zone, Scurrent_time_zone, 0, 1, 0, DEFUN ("current-time-zone", Fcurrent_time_zone, Scurrent_time_zone, 0, 1, 0, ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!