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>
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			646 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			646 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef USERDIFF_H
 | 
						|
#define USERDIFF_H
 | 
						|
 | 
						|
#include "notes-cache.h"
 | 
						|
 | 
						|
struct userdiff_funcname {
 | 
						|
	const char *pattern;
 | 
						|
	int cflags;
 | 
						|
};
 | 
						|
 | 
						|
struct userdiff_driver {
 | 
						|
	const char *name;
 | 
						|
	const char *external;
 | 
						|
	int binary;
 | 
						|
	struct userdiff_funcname funcname;
 | 
						|
	const char *word_regex;
 | 
						|
	const char *textconv;
 | 
						|
	struct notes_cache *textconv_cache;
 | 
						|
	int textconv_want_cache;
 | 
						|
};
 | 
						|
 | 
						|
int userdiff_config(const char *k, const char *v);
 | 
						|
struct userdiff_driver *userdiff_find_by_name(const char *name);
 | 
						|
struct userdiff_driver *userdiff_find_by_path(const char *path);
 | 
						|
 | 
						|
struct userdiff_driver *userdiff_get_textconv(struct userdiff_driver *driver);
 | 
						|
 | 
						|
#endif /* USERDIFF */
 |