From 76399c0195278ed2b52716b821cf064f77131736 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 22 Apr 2011 15:55:55 -0700 Subject: diff.c: return filepair from diff_unmerge() The underlying diff_queue() returns diff_filepair so that the caller can further add information to it, and the helper function diff_unmerge() utilizes the feature itself, but does not expose it to its callers, which was kind of selfish. Signed-off-by: Junio C Hamano diff --git a/diff.c b/diff.c index 9a5c77c..4c34c64 100644 --- a/diff.c +++ b/diff.c @@ -4308,20 +4308,23 @@ void diff_change(struct diff_options *options, DIFF_OPT_SET(options, HAS_CHANGES); } -void diff_unmerge(struct diff_options *options, - const char *path, - unsigned mode, const unsigned char *sha1) +struct diff_filepair *diff_unmerge(struct diff_options *options, + const char *path, + unsigned mode, const unsigned char *sha1) { + struct diff_filepair *pair; struct diff_filespec *one, *two; if (options->prefix && strncmp(path, options->prefix, options->prefix_length)) - return; + return NULL; one = alloc_filespec(path); two = alloc_filespec(path); fill_filespec(one, sha1, mode); - diff_queue(&diff_queued_diff, one, two)->is_unmerged = 1; + pair = diff_queue(&diff_queued_diff, one, two); + pair->is_unmerged = 1; + return pair; } static char *run_textconv(const char *pgm, struct diff_filespec *spec, diff --git a/diff.h b/diff.h index bf2f44d..f51a8ee 100644 --- a/diff.h +++ b/diff.h @@ -209,7 +209,7 @@ extern void diff_change(struct diff_options *, const char *fullpath, unsigned dirty_submodule1, unsigned dirty_submodule2); -extern void diff_unmerge(struct diff_options *, +extern struct diff_filepair *diff_unmerge(struct diff_options *, const char *path, unsigned mode, const unsigned char *sha1); -- cgit v0.10.2-6-g49f6