From mboxrd@z Thu Jan 1 00:00:00 1970 From: yannick.brosseau@gmail.com (Yannick Brosseau) Date: Tue, 22 Feb 2011 23:13:10 -0500 Subject: [ltt-dev] [UST PATCH] Make the error handling in open_channel more readable In-Reply-To: References: <1298307312-22272-1-git-send-email-yannick.brosseau@gmail.com> Message-ID: <4D648956.1030508@gmail.com> On 2011-02-22 23:06, Mathieu Desnoyers wrote: > * Yannick Brosseau (yannick.brosseau at gmail.com) wrote: > >> Signed-off-by: Yannick Brosseau >> --- >> libust/buffers.c | 9 ++++----- >> 1 files changed, 4 insertions(+), 5 deletions(-) >> >> diff --git a/libust/buffers.c b/libust/buffers.c >> index 4e8004c..534d0ef 100644 >> --- a/libust/buffers.c >> +++ b/libust/buffers.c >> @@ -319,12 +319,11 @@ static int open_channel(struct ust_channel *chan, size_t subbuf_size, >> >> return 0; >> >> - /* Jump directly inside the loop to close the buffers that were already >> - * opened. */ >> - for(; i>=0; i--) { >> - close_buf(chan->buf[i]); >> error: >> - do {} while(0); >> + /* Loop through the opened buffers and close them. Skip the current i, >> + since it's the one that did not open. */ >> + for(i--; i>=0; i--) { >> + close_buf(chan->buf[i]); >> > Not sure I see how this is more readable. You seem to be changing the > code behavior too. > At least we don't have a jump un the middle of a loop and a complex nop operation. The behavior is the same. We could also not reuse the i and loop from 0 to i-1.