Johannes Berg <johannes@xxxxxxxxxxxxxxxx> writes: >> > They have three possible values ... :) >> >> Ah, no, not the handlers themselves. Meant the invoke_tx_handlers() >> function (or all three of them after my patch; hence the plural). To >> avoid the "0 means true" confusion you alluded to :) >> > > Ah. Actually, even I got confused and thought the return value *was* > the same as the handler. > > I think it doesn't matter to be tricky, gcc is probably going to (have > to) generate exactly the same code like when you explicitly put an if > statement in there, it seems? Yeah, was going to do that anyway. But since I'm touching the code anyway, this might be an opportunity to avoid constructs like this: if (!invoke_tx_handlers(tx)) /* continue sending the packet */ Most other succeed/fail functions seem to be of type bool, so it would help consistency as well. Unless there is some particular reason why this function happens to be using 0 to indicate success? -Toke