Messages in this thread | | | Subject | Re: [PATCH 3/9] perf util: Get rid of write_or_die() from trace-event-info.c | From | Peter Zijlstra <> | Date | Tue, 19 Mar 2013 16:04:03 +0100 |
| |
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 :-)
| |