On Sun, Apr 24, 2016 at 9:34 AM, Christian Couder
<[email protected]> wrote:
> Signed-off-by: Christian Couder <[email protected]>
> ---
> diff --git a/builtin/apply.c b/builtin/apply.c
> @@ -4562,12 +4562,12 @@ static int apply_all_patches(struct apply_state
> *state,
>
> fd = open(arg, O_RDONLY);
> if (fd < 0)
> - die_errno(_("can't open patch '%s'"), arg);
> + return error(_("can't open patch '%s': %s"), arg,
> strerror(errno));
> read_stdin = 0;
> set_default_whitespace_mode(state);
> res = apply_patch(state, fd, arg, options);
> if (res < 0)
> - exit(1);
> + return -1;
This leaks 'fd', doesn't it?
> errs |= res;
> close(fd);
> }
> @@ -4590,10 +4590,10 @@ static int apply_all_patches(struct apply_state
> *state,
> squelched);
> }
> if (state->ws_error_action == die_on_ws_error)
> - die(Q_("%d line adds whitespace errors.",
> - "%d lines add whitespace errors.",
> - state->whitespace_error),
> - state->whitespace_error);
> + return error(Q_("%d line adds whitespace errors.",
> + "%d lines add whitespace errors.",
> + state->whitespace_error),
> + state->whitespace_error);
How does this new 'return' relate to the logic below which updates the
index? Does the index need to be updated here now too?
> if (state->applied_after_fixing_ws && state->apply)
> warning("%d line%s applied after"
> " fixing whitespace errors.",
> @@ -4608,7 +4608,7 @@ static int apply_all_patches(struct apply_state *state,
>
> if (state->update_index) {
> if (write_locked_index(&the_index, state->lock_file,
> COMMIT_LOCK))
> - die(_("Unable to write new index file"));
> + return error(_("Unable to write new index file"));
> }
>
> return !!errs;
> @@ -4698,5 +4698,8 @@ int cmd_apply(int argc, const char **argv, const char
> *prefix)
> if (check_apply_state(&state, force_apply))
> exit(1);
>
> - return apply_all_patches(&state, argc, argv, options);
> + if (apply_all_patches(&state, argc, argv, options))
> + exit(1);
> +
> + return 0;
> }
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html