Export three functions from diff.c

Use fill_metainfo to fill the line level diff meta data,
emit_line to print out a line and quote_two to quote
paths.

Signed-off-by: Bo Yang <struggleyb.nku@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Bo Yang
2010-08-11 23:03:31 +08:00
committed by Junio C Hamano
parent b585e491cf
commit 5d99e4e3c7
2 changed files with 20 additions and 3 deletions

6
diff.c
View File

@@ -144,7 +144,7 @@ int git_diff_basic_config(const char *var, const char *value, void *cb)
return git_color_default_config(var, value, cb);
}
static char *quote_two(const char *one, const char *two)
char *quote_two(const char *one, const char *two)
{
int need_one = quote_c_style(one, NULL, NULL, 1);
int need_two = quote_c_style(two, NULL, NULL, 1);
@@ -325,7 +325,7 @@ static void emit_line_0(struct diff_options *o, const char *set, const char *res
fputc('\n', file);
}
static void emit_line(struct diff_options *o, const char *set, const char *reset,
void emit_line(struct diff_options *o, const char *set, const char *reset,
const char *line, int len)
{
emit_line_0(o, set, reset, line[0], line+1, len-1);
@@ -2564,7 +2564,7 @@ static int similarity_index(struct diff_filepair *p)
return p->score * 100 / MAX_SCORE;
}
static void fill_metainfo(struct strbuf *msg,
void fill_metainfo(struct strbuf *msg,
const char *name,
const char *other,
struct diff_filespec *one,

17
diff.h
View File

@@ -12,6 +12,7 @@ struct diff_queue_struct;
struct strbuf;
struct diff_filespec;
struct userdiff_driver;
struct diff_filepair;
typedef void (*change_fn_t)(struct diff_options *options,
unsigned old_mode, unsigned new_mode,
@@ -301,4 +302,20 @@ extern size_t fill_textconv(struct userdiff_driver *driver,
extern struct userdiff_driver *get_textconv(struct diff_filespec *one);
/* some output functions line.c need */
extern void fill_metainfo(struct strbuf *msg,
const char *name,
const char *other,
struct diff_filespec *one,
struct diff_filespec *two,
struct diff_options *o,
struct diff_filepair *p,
int *must_show_header,
int use_color);
extern void emit_line(struct diff_options *o, const char *set, const char *reset,
const char *line, int len);
extern char *quote_two(const char *one, const char *two);
#endif /* DIFF_H */