On Tue, 19 Mar 2013 16:04:03 +0100, Peter Zijlstra wrote: > On Tue, 2013-03-19 at 10:59 -0400, Steven Rostedt wrote: >> On Tue, 2013-03-19 at 15:49 +0100, Peter Zijlstra wrote: >> > On Tue, 2013-03-19 at 10:35 -0400, Steven Rostedt wrote: >> > > What about: >> > > int err = 0; >> > > >> > > err += tracing_data_header(); >> > > err += read_header_files(); >> > > [...] >> > > >> > > if (err < 0) { >> > > free(tdata); >> > > tdata = NULL; >> > > } >> > > >> > > Also, is the only clean up needed be freeing tdata? >> > >> > I always use err |= foo() and if (err) but I suppose it doesn't matter >> > the original error codes are lost both ways which doesn't seem to be a >> > problem here. >> >> err |= foo() is fine too. Both are better that err1, err2, err3, ..., >> errN :-) > > <whinge> > > The += thing has a problem where functions can return both positive and > negative values, you could get an accidental 0 (success) but coupled > with the proposed <0 test you get a much larger accident space :-) > > And while totally hideous the err1..errN case preserves the actual > return codes if one would actually need those. > > </whinge> > > /me crawls back under his rock noaw :-)
Sorry for the ugliness, forgot to update the code before sending ;-) So I'll convert them to err |= foo() style as I don't care about the actual return value at this time. Thanks, Namhyung -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/