Date: Fri, 30 Mar 2012 21:49:51 +0200 From: Dimitry Andric <dim@FreeBSD.org> To: Stefan Farfeleder <stefanf@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Scott Long <scottl@FreeBSD.org>, David Xu <davidxu@FreeBSD.org> Subject: Re: svn commit: r233700 - head/sys/kern Message-ID: <4F760E5F.5030300@FreeBSD.org> In-Reply-To: <20120330133045.GD1423@mole.fafoe.narf.at> References: <201203301257.q2UCvE4l042042@svn.freebsd.org> <20120330133045.GD1423@mole.fafoe.narf.at>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2012-03-30 15:30, Stefan Farfeleder wrote: > here are a few similar cases. Hm, what about this one that clang warns about: sys/dev/asr/asr.c:2420:57: warning: for loop has empty body [-Wempty-body] for (ha = &Asr_softc_list; *ha; ha = &((*ha)->ha_next)); ^ sys/dev/asr/asr.c:2420:57: note: put the semicolon on a separate line to silence this warning [-Wempty-body] I'm not sure about it though, the code looks like this: static int asr_attach(device_t dev) { [...] Asr_softc_t *sc, **ha; [...] LIST_INIT(&(sc->ha_ccb)); /* Link us into the HA list */ for (ha = &Asr_softc_list; *ha; ha = &((*ha)->ha_next)); *(ha) = sc; It seems the for loop walks the list until the end, then tacks 'sc' onto it. So to 'fix' the warning, and make the meaning more explicit, we should probably rewrite that fragment as: LIST_INIT(&(sc->ha_ccb)); /* Link us into the HA list */ for (ha = &Asr_softc_list; *ha; ha = &((*ha)->ha_next)) ; *(ha) = sc; Is this OK?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F760E5F.5030300>