From 3a35cb2ea8ab5d44d6ea6290b7af8a7c8623e4c2 Mon Sep 17 00:00:00 2001 From: Jeff Smith Date: Wed, 24 May 2017 00:15:10 -0500 Subject: blame: move textconv_object with related functions textconv_object is used in places other than blame.c and should be moved to a more appropriate location. Other textconv related functions are located in diff.c so that seems as good a place as any. Signed-off-by: Jeff Smith Signed-off-by: Junio C Hamano --- diff.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'diff.c') diff --git a/diff.c b/diff.c index 74283d9001..040fb2567c 100644 --- a/diff.c +++ b/diff.c @@ -5270,6 +5270,29 @@ size_t fill_textconv(struct userdiff_driver *driver, return size; } +int textconv_object(const char *path, + unsigned mode, + const struct object_id *oid, + int oid_valid, + char **buf, + unsigned long *buf_size) +{ + struct diff_filespec *df; + struct userdiff_driver *textconv; + + df = alloc_filespec(path); + fill_filespec(df, oid->hash, oid_valid, mode); + textconv = get_textconv(df); + if (!textconv) { + free_filespec(df); + return 0; + } + + *buf_size = fill_textconv(textconv, df, buf); + free_filespec(df); + return 1; +} + void setup_diff_pager(struct diff_options *opt) { /* -- cgit v1.2.1