diff options
author | Jeff King <peff@peff.net> | 2011-05-23 16:30:14 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-05-23 15:46:02 -0700 |
commit | 3813e69031d2df2702f50b9649fa2e40ea11e558 (patch) | |
tree | 1c39328b22138741719fd561c9f32b1ac5d0cffe /diff.c | |
parent | 4d5f34719970274990cded2201957eb2262bca10 (diff) | |
download | git-3813e69031d2df2702f50b9649fa2e40ea11e558.tar.gz git-3813e69031d2df2702f50b9649fa2e40ea11e558.tar.xz |
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 <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diff.c')
-rw-r--r-- | diff.c | 14 |
1 files changed, 1 insertions, 13 deletions
@@ -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, |