From: Junio C Hamano Date: Thu, 10 May 2012 22:32:47 GMT Subject: [PATCH v2 3/9] apply: split load_preimage() helper function out Message-ID: <1336689173-15822-4-git-send-email-gitster@pobox.com> In-Reply-To: <1336689173-15822-1-git-send-email-gitster@pobox.com> The function apply_data() gets a patch for a single path, reads the preimage in core, and applies the change represented in the patch. Separate out the first part that reads the preimage into a separate helper function load_preimage(). Signed-off-by: Junio C Hamano --- builtin/apply.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index ca330e3..2a31023 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -3028,10 +3028,10 @@ static void prepare_fn_table(struct patch *patch) } } -static int apply_data(struct patch *patch, struct stat *st, struct cache_entry *ce) +static int load_preimage(struct image *image, + struct patch *patch, struct stat *st, struct cache_entry *ce) { struct strbuf buf = STRBUF_INIT; - struct image image; size_t len; char *img; struct patch *tpatch; @@ -3068,7 +3068,16 @@ static int apply_data(struct patch *patch, struct stat *st, struct cache_entry * } img = strbuf_detach(&buf, &len); - prepare_image(&image, img, len, !patch->is_binary); + prepare_image(image, img, len, !patch->is_binary); + return 0; +} + +static int apply_data(struct patch *patch, struct stat *st, struct cache_entry *ce) +{ + struct image image; + + if (load_preimage(&image, patch, st, ce) < 0) + return -1; if (apply_fragments(&image, patch) < 0) return -1; /* note with --reject this succeeds. */ -- 1.7.10.1.574.g840b38f