From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:55231) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RjDrH-0003BN-8Z for qemu-devel@nongnu.org; Fri, 06 Jan 2012 12:45:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RjDrG-0001x0-5N for qemu-devel@nongnu.org; Fri, 06 Jan 2012 12:45:39 -0500 Received: from cantor2.suse.de ([195.135.220.15]:51824 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RjDrG-0001wp-0c for qemu-devel@nongnu.org; Fri, 06 Jan 2012 12:45:38 -0500 Message-ID: <4F0732E6.6000707@suse.de> Date: Fri, 06 Jan 2012 18:44:06 +0100 From: =?ISO-8859-1?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 1/3]use int64 when compare two time List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Zhang, Yang Z" Cc: "aliguori@us.ibm.com" , "Shan, Haitao" , "qemu-devel@nongnu.org" , "kvm@vger.kernel.org" , "avi@redhat.com" Am 06.01.2012 08:37, schrieb Zhang, Yang Z: > use int64 when compare two time >=20 > int32 only represent only 136 years when comparing two times based on s= econd. It would be better to use int64. int32 and int64 are softfloat types and should not be used here. Do you have an actual use case that breaks with int / int32_t? >=20 > Signed-off-by: Yang Zhang > diff --git a/vl.c b/vl.c > index 640e3ca..01c5a9d 100644 > --- a/vl.c > +++ b/vl.c > @@ -454,7 +454,7 @@ void qemu_get_timedate(struct tm *tm, int offset) > memcpy(tm, ret, sizeof(struct tm)); > } >=20 > -int qemu_timedate_diff(struct tm *tm) > +int64_t qemu_timedate_diff(struct tm *tm) > { > time_t seconds; >=20 > @@ -476,7 +476,7 @@ void rtc_change_mon_event(struct tm *tm) > { > QObject *data; >=20 > - data =3D qobject_from_jsonf("{ 'offset': %d }", qemu_timedate_diff= (tm)); > + data =3D qobject_from_jsonf("{ 'offset': %ld }", qemu_timedate_dif= f(tm)); That's wrong, %ld is for long. For int64_t you need to use PRId64. Andreas > monitor_protocol_event(QEVENT_RTC_CHANGE, data); > qobject_decref(data); > } --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg