#define USE_THE_REPOSITORY_VARIABLE
#include "git-compat-util.h"
#include "config.h"
#include "userdiff.h"
#include "attr.h"
#include "strbuf.h"
#include "environment.h"
static struct userdiff_driver *drivers;
static int ndrivers;
static int drivers_alloc;
#define PATTERNS …
#define IPATTERN …
static struct userdiff_driver builtin_drivers[] = …;
#undef PATTERNS
#undef IPATTERN
static struct userdiff_driver driver_true = …;
static struct userdiff_driver driver_false = …;
struct find_by_namelen_data { … };
static int userdiff_find_by_namelen_cb(struct userdiff_driver *driver,
enum userdiff_driver_type type UNUSED,
void *priv)
{ … }
static int regexec_supports_multi_byte_chars(void)
{ … }
static struct userdiff_driver *userdiff_find_by_namelen(const char *name, size_t len)
{ … }
static int parse_funcname(struct userdiff_funcname *f, const char *k,
const char *v, int cflags)
{ … }
static int parse_tristate(int *b, const char *k, const char *v)
{ … }
static int parse_bool(int *b, const char *k, const char *v)
{ … }
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(struct index_state *istate,
const char *path)
{ … }
struct userdiff_driver *userdiff_get_textconv(struct repository *r,
struct userdiff_driver *driver)
{ … }
static int for_each_userdiff_driver_list(each_userdiff_driver_fn fn,
enum userdiff_driver_type type, void *cb_data,
struct userdiff_driver *drv,
int drv_size)
{ … }
int for_each_userdiff_driver(each_userdiff_driver_fn fn, void *cb_data)
{ … }