To libify `git apply` functionality we have to signal errors to the caller instead of die()ing. To do that in a compatible manner with the rest of the error handling in "builtin/apply.c", parse_ignorewhitespace_option() should return -1 using error() instead of calling die(). Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx> --- builtin/apply.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index 657e986..a7ebbbb 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -57,20 +57,20 @@ static int parse_whitespace_option(struct apply_state *state, const char *option return error(_("unrecognized whitespace option '%s'"), option); } -static void parse_ignorewhitespace_option(struct apply_state *state, - const char *option) +static int parse_ignorewhitespace_option(struct apply_state *state, + const char *option) { if (!option || !strcmp(option, "no") || !strcmp(option, "false") || !strcmp(option, "never") || !strcmp(option, "none")) { state->ws_ignore_action = ignore_ws_none; - return; + return 0; } if (!strcmp(option, "change")) { state->ws_ignore_action = ignore_ws_change; - return; + return 0; } - die(_("unrecognized whitespace ignore option '%s'"), option); + return error(_("unrecognized whitespace ignore option '%s'"), option); } static void set_default_whitespace_mode(struct apply_state *state) @@ -4615,8 +4615,8 @@ static void init_apply_state(struct apply_state *state, git_apply_config(); if (apply_default_whitespace && parse_whitespace_option(state, apply_default_whitespace)) exit(1); - if (apply_default_ignorewhitespace) - parse_ignorewhitespace_option(state, apply_default_ignorewhitespace); + if (apply_default_ignorewhitespace && parse_ignorewhitespace_option(state, apply_default_ignorewhitespace)) + exit(1); } static void check_apply_state(struct apply_state *state, int force_apply) -- 2.8.2.490.g3dabe57 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html