From 4a1613194af218afb99be0e14af449e86852d06e Mon Sep 17 00:00:00 2001 From: David Barr Date: Fri, 1 Jun 2012 00:41:26 +1000 Subject: vcs-svn: simplify cleanup in apply_one_window Currently the cleanup code looks like this: free resources return 0; error_out: free resources return -1; Avoid duplicating the "free resources" part by keeping the return value in a variable and sharing code between the success and exceptional case: ret = 0; out: free resources return ret; Noticed in the svn-dump-fast-export project, where using the error() macro in void context produces a warning. Signed-off-by: David Barr Signed-off-by: Jonathan Nieder diff --git a/vcs-svn/svndiff.c b/vcs-svn/svndiff.c index c89d962..e810d0c 100644 --- a/vcs-svn/svndiff.c +++ b/vcs-svn/svndiff.c @@ -258,6 +258,7 @@ static int apply_window_in_core(struct window *ctx) static int apply_one_window(struct line_buffer *delta, off_t *delta_len, struct sliding_view *preimage, FILE *out) { + int rv = -1; struct window ctx = WINDOW_INIT(preimage); size_t out_len; size_t instructions_len; @@ -275,16 +276,15 @@ static int apply_one_window(struct line_buffer *delta, off_t *delta_len, if (apply_window_in_core(&ctx)) goto error_out; if (ctx.out.len != out_len) { - error("invalid delta: incorrect postimage length"); + rv = error("invalid delta: incorrect postimage length"); goto error_out; } if (write_strbuf(&ctx.out, out)) goto error_out; - window_release(&ctx); - return 0; + rv = 0; error_out: window_release(&ctx); - return -1; + return rv; } int svndiff0_apply(struct line_buffer *delta, off_t delta_len, -- cgit v0.10.2-6-g49f6