diff options
Diffstat (limited to 'kernel/time/timeconv.c')
| -rw-r--r-- | kernel/time/timeconv.c | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/time/timeconv.c b/kernel/time/timeconv.c index 86628e755f38..7142580ad94f 100644 --- a/kernel/time/timeconv.c +++ b/kernel/time/timeconv.c @@ -67,20 +67,21 @@ static const unsigned short __mon_yday[2][13] = {  #define SECS_PER_DAY	(SECS_PER_HOUR * 24)  /** - * time_to_tm - converts the calendar time to local broken-down time + * time64_to_tm - converts the calendar time to local broken-down time   *   * @totalsecs	the number of seconds elapsed since 00:00:00 on January 1, 1970,   *		Coordinated Universal Time (UTC).   * @offset	offset seconds adding to totalsecs.   * @result	pointer to struct tm variable to receive broken-down time   */ -void time_to_tm(time_t totalsecs, int offset, struct tm *result) +void time64_to_tm(time64_t totalsecs, int offset, struct tm *result)  {  	long days, rem, y; +	int remainder;  	const unsigned short *ip; -	days = totalsecs / SECS_PER_DAY; -	rem = totalsecs % SECS_PER_DAY; +	days = div_s64_rem(totalsecs, SECS_PER_DAY, &remainder); +	rem = remainder;  	rem += offset;  	while (rem < 0) {  		rem += SECS_PER_DAY; @@ -124,4 +125,4 @@ void time_to_tm(time_t totalsecs, int offset, struct tm *result)  	result->tm_mon = y;  	result->tm_mday = days + 1;  } -EXPORT_SYMBOL(time_to_tm); +EXPORT_SYMBOL(time64_to_tm);  |