From: Duy Nguyen Date: Mon, 25 Apr 2016 13:36:56 GMT Subject: Re: [PATCH 65/83] builtin/apply: make gitdiff_verify_name() return -1 on error Message-ID: In-Reply-To: <1461504863-15946-66-git-send-email-chriscool@tuxfamily.org> On Sun, Apr 24, 2016 at 8:34 PM, Christian Couder wrote: > Signed-off-by: Christian Couder > --- > builtin/apply.c | 52 ++++++++++++++++++++++++++++++---------------------- > 1 file changed, 30 insertions(+), 22 deletions(-) > > diff --git a/builtin/apply.c b/builtin/apply.c > index 6b8ba2a..268356b 100644 > --- a/builtin/apply.c > +++ b/builtin/apply.c > @@ -812,7 +812,7 @@ static int gitdiff_hdrend(struct apply_state *state, > const char *line, > struct patch *patch) > { > - return -1; > + return 1; > } These are in a function group that will be called as p->fn() in parse_git_header(). Is it possible to isolate them in a separate patch? This patch can follow after, which covers only gitdiff_verify_name() returning -1 and its call sites. > static int gitdiff_oldmode(struct apply_state *state, > @@ -1016,7 +1018,7 @@ static int gitdiff_unrecognized(struct apply_state *state, > const char *line, > struct patch *patch) > { > - return -1; > + return 1; > } > > /* > @@ -1248,9 +1250,13 @@ static int parse_git_header(struct apply_state *state, > for (i = 0; i < ARRAY_SIZE(optable); i++) { > const struct opentry *p = optable + i; > int oplen = strlen(p->str); > + int res; > if (len < oplen || memcmp(p->str, line, oplen)) > continue; > - if (p->fn(state, line + oplen, patch) < 0) > + res = p->fn(state, line + oplen, patch); > + if (res < 0) > + return -1; > + if (res > 0) > return offset; > break; > } -- Duy