On 08/30/10 17:43, Anthony Liguori wrote: > On 08/30/2010 10:35 AM, jes.soren...@redhat.com wrote: >> From: Jes Sorensen<jes.soren...@redhat.com> >> >> Signed-off-by: Jes Sorensen<jes.soren...@redhat.com> >> --- >> 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