diff options
author | Christian Couder <christian.couder@gmail.com> | 2016-05-11 15:16:12 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-05-12 12:07:11 -0700 |
commit | 12913a78cedc491f89a34ab0b545831d6006fc98 (patch) | |
tree | 78be9743a83b20b137efafef37aa423b4141c65c /builtin/apply.c | |
parent | 5fe494c54ae44ae01a8efa91d00ac9d4c1c475e9 (diff) | |
download | git-12913a78cedc491f89a34ab0b545831d6006fc98.tar.gz |
builtin/apply: make gitdiff_verify_name() return void
As the value returned by gitdiff_verify_name() is put into the
same variable that is passed as a parameter to this function,
it is simpler to pass the address of the variable and have
gitdiff_verify_name() change the variable itself.
This also makes it possible to later have this function return
-1 instead of die()ing in case of error.
Reviewed-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/apply.c')
-rw-r--r-- | builtin/apply.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/builtin/apply.c b/builtin/apply.c index 8e4da2e1bd..fe5aebdb0f 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -925,43 +925,43 @@ static int gitdiff_hdrend(const char *line, struct patch *patch) #define DIFF_OLD_NAME 0 #define DIFF_NEW_NAME 1 -static char *gitdiff_verify_name(const char *line, int isnull, char *orig_name, int side) +static void gitdiff_verify_name(const char *line, int isnull, char **name, int side) { - if (!orig_name && !isnull) - return find_name(line, NULL, p_value, TERM_TAB); + if (!*name && !isnull) { + *name = find_name(line, NULL, p_value, TERM_TAB); + return; + } - if (orig_name) { - int len = strlen(orig_name); + if (*name) { + int len = strlen(*name); char *another; if (isnull) die(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"), - orig_name, linenr); + *name, linenr); another = find_name(line, NULL, p_value, TERM_TAB); - if (!another || memcmp(another, orig_name, len + 1)) + if (!another || memcmp(another, *name, len + 1)) die((side == DIFF_NEW_NAME) ? _("git apply: bad git-diff - inconsistent new filename on line %d") : _("git apply: bad git-diff - inconsistent old filename on line %d"), linenr); free(another); - return orig_name; } else { /* expect "/dev/null" */ if (memcmp("/dev/null", line, 9) || line[9] != '\n') die(_("git apply: bad git-diff - expected /dev/null on line %d"), linenr); - return NULL; } } static int gitdiff_oldname(const char *line, struct patch *patch) { - patch->old_name = gitdiff_verify_name(line, patch->is_new, patch->old_name, - DIFF_OLD_NAME); + gitdiff_verify_name(line, patch->is_new, &patch->old_name, + DIFF_OLD_NAME); return 0; } static int gitdiff_newname(const char *line, struct patch *patch) { - patch->new_name = gitdiff_verify_name(line, patch->is_delete, patch->new_name, - DIFF_NEW_NAME); + gitdiff_verify_name(line, patch->is_delete, &patch->new_name, + DIFF_NEW_NAME); return 0; } |