From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=45284 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Oq6hv-0004HM-Ut for qemu-devel@nongnu.org; Mon, 30 Aug 2010 11:55:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Oq6hj-0006tl-IM for qemu-devel@nongnu.org; Mon, 30 Aug 2010 11:55:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:15243) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Oq6hj-0006te-9U for qemu-devel@nongnu.org; Mon, 30 Aug 2010 11:55:27 -0400 Message-ID: <4C7BD46B.8090106@redhat.com> Date: Mon, 30 Aug 2010 17:55:23 +0200 From: Jes Sorensen MIME-Version: 1.0 References: <1283182547-26116-1-git-send-email-Jes.Sorensen@redhat.com> <1283182547-26116-5-git-send-email-Jes.Sorensen@redhat.com> <4C7BD19E.1050604@codemonkey.ws> In-Reply-To: <4C7BD19E.1050604@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH 04/14] Zero initialize timespec struct explicitly List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: kwolf@redhat.com, qemu-devel@nongnu.org On 08/30/10 17:43, Anthony Liguori wrote: > On 08/30/2010 10:35 AM, Jes.Sorensen@redhat.com wrote: >> From: Jes Sorensen >> >> Signed-off-by: Jes Sorensen >> --- >> linux-aio.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/linux-aio.c b/linux-aio.c >> index 68f4b3d..3240996 100644 >> --- a/linux-aio.c >> +++ b/linux-aio.c >> @@ -118,7 +118,7 @@ static void qemu_laio_completion_cb(void *opaque) >> struct io_event events[MAX_EVENTS]; >> uint64_t val; >> ssize_t ret; >> - struct timespec ts = { 0 }; >> + struct timespec ts = { 0, 0 }; >> > > I don't like these. What's wrong with { } or { 0 }? Implicit zeroing > of members is a critical feature of structure initialization so if there > is something wrong with this, it's important to know why because > otherwise we've got a massive amount of broken code. The specific case above is really inconsistent. Either do {} or {0, 0}, doing just {0} means it is initializing just one element in the struct. That is broken IMHO. Cheers, Jes