On Friday, March 30, 2012 3:49:51 pm Dimitry Andric wrote: > 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?
Can we just make that code use a STAILQ() instead of doing it obscurely by hand? -- John Baldwin _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"