From 3813e69031d2df2702f50b9649fa2e40ea11e558 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Mon, 23 May 2011 16:30:14 -0400 Subject: refactor get_textconv to not require diff_filespec This function actually does two things: 1. Load the userdiff driver for the filespec. 2. Decide whether the driver has a textconv component, and initialize the textconv cache if applicable. Only part (1) requires the filespec object, and some callers may not have a filespec at all. So let's split them it into two functions, and put part (2) with the userdiff code, which is a better fit. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) (limited to 'diff.c') diff --git a/diff.c b/diff.c index ba5f7aa217..3f538f5803 100644 --- a/diff.c +++ b/diff.c @@ -1976,19 +1976,7 @@ struct userdiff_driver *get_textconv(struct diff_filespec *one) return NULL; diff_filespec_load_driver(one); - if (!one->driver->textconv) - return NULL; - - if (one->driver->textconv_want_cache && !one->driver->textconv_cache) { - struct notes_cache *c = xmalloc(sizeof(*c)); - struct strbuf name = STRBUF_INIT; - - strbuf_addf(&name, "textconv/%s", one->driver->name); - notes_cache_init(c, name.buf, one->driver->textconv); - one->driver->textconv_cache = c; - } - - return one->driver; + return userdiff_get_textconv(one->driver); } static void builtin_diff(const char *name_a, -- cgit v1.2.3