Module Name:    src
Committed By:   tsutsui
Date:           Wed Mar 16 14:23:19 UTC 2011

Modified Files:
        src/sys/arch/hpcmips/vr: rtc.c

Log Message:
Fix signedness issue triggered by 64 bit time_t.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/hpcmips/vr/rtc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/hpcmips/vr/rtc.c
diff -u src/sys/arch/hpcmips/vr/rtc.c:1.27 src/sys/arch/hpcmips/vr/rtc.c:1.28
--- src/sys/arch/hpcmips/vr/rtc.c:1.27	Thu Mar 10 17:27:43 2011
+++ src/sys/arch/hpcmips/vr/rtc.c	Wed Mar 16 14:23:19 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rtc.c,v 1.27 2011/03/10 17:27:43 tsutsui Exp $	*/
+/*	$NetBSD: rtc.c,v 1.28 2011/03/16 14:23:19 tsutsui Exp $	*/
 
 /*-
  * Copyright (c) 1999 Shin Takemura. All rights reserved.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rtc.c,v 1.27 2011/03/10 17:27:43 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rtc.c,v 1.28 2011/03/16 14:23:19 tsutsui Exp $");
 
 #include "opt_vr41xx.h"
 
@@ -281,7 +281,7 @@
 	bus_space_handle_t ioh = sc->sc_ioh;
 	u_int32_t timeh;	/* elapse time (2*timeh sec) */
 	u_int32_t timel;	/* timel/32768 sec */
-	int64_t sec, usec;
+	u_int64_t sec, usec;
 
 	timeh = bus_space_read_2(iot, ioh, ETIME_H_REG_W);
 	timeh = (timeh << 16) | bus_space_read_2(iot, ioh, ETIME_M_REG_W);
@@ -290,7 +290,7 @@
 	DPRINTF(("clock_get: timeh %08x timel %08x\n", timeh, timel));
 
 	timeh -= EPOCHOFF;
-	sec = timeh * 2;
+	sec = (uint64_t)timeh * 2;
 	sec -= sc->sc_epoch;
 	tvp->tv_sec = sec;
 	tvp->tv_sec += timel / ETIME_L_HZ;
@@ -299,7 +299,7 @@
 	usec = (timel % ETIME_L_HZ);
 	usec *= 1000000;
 	usec /= ETIME_L_HZ;
-	tvp->tv_usec = (uint32_t)usec;
+	tvp->tv_usec = usec;
 
 	return 0;
 }

Reply via email to