Move buffer_is_binary() to xdiff-interface.h
We already have two instances where we want to determine if a buffer contains binary data as opposed to text. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
20f1eb6b46
commit
6bfce93e04
7
diff.c
7
diff.c
@ -1107,10 +1107,8 @@ static void setup_diff_attr_check(struct git_attr_check *check)
|
|||||||
check->attr = attr_diff;
|
check->attr = attr_diff;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define FIRST_FEW_BYTES 8000
|
|
||||||
static int file_is_binary(struct diff_filespec *one)
|
static int file_is_binary(struct diff_filespec *one)
|
||||||
{
|
{
|
||||||
unsigned long sz;
|
|
||||||
struct git_attr_check attr_diff_check;
|
struct git_attr_check attr_diff_check;
|
||||||
|
|
||||||
setup_diff_attr_check(&attr_diff_check);
|
setup_diff_attr_check(&attr_diff_check);
|
||||||
@ -1127,10 +1125,7 @@ static int file_is_binary(struct diff_filespec *one)
|
|||||||
return 0;
|
return 0;
|
||||||
diff_populate_filespec(one, 0);
|
diff_populate_filespec(one, 0);
|
||||||
}
|
}
|
||||||
sz = one->size;
|
return buffer_is_binary(one->data, one->size);
|
||||||
if (FIRST_FEW_BYTES < sz)
|
|
||||||
sz = FIRST_FEW_BYTES;
|
|
||||||
return !!memchr(one->data, 0, sz);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void builtin_diff(const char *name_a,
|
static void builtin_diff(const char *name_a,
|
||||||
|
12
grep.c
12
grep.c
@ -1,5 +1,6 @@
|
|||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
#include "grep.h"
|
#include "grep.h"
|
||||||
|
#include "xdiff-interface.h"
|
||||||
|
|
||||||
void append_grep_pattern(struct grep_opt *opt, const char *pat,
|
void append_grep_pattern(struct grep_opt *opt, const char *pat,
|
||||||
const char *origin, int no, enum grep_pat_token t)
|
const char *origin, int no, enum grep_pat_token t)
|
||||||
@ -232,17 +233,6 @@ static void show_line(struct grep_opt *opt, const char *bol, const char *eol,
|
|||||||
printf("%.*s\n", (int)(eol-bol), bol);
|
printf("%.*s\n", (int)(eol-bol), bol);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* NEEDSWORK: share code with diff.c
|
|
||||||
*/
|
|
||||||
#define FIRST_FEW_BYTES 8000
|
|
||||||
static int buffer_is_binary(const char *ptr, unsigned long size)
|
|
||||||
{
|
|
||||||
if (FIRST_FEW_BYTES < size)
|
|
||||||
size = FIRST_FEW_BYTES;
|
|
||||||
return !!memchr(ptr, 0, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int fixmatch(const char *pattern, char *line, regmatch_t *match)
|
static int fixmatch(const char *pattern, char *line, regmatch_t *match)
|
||||||
{
|
{
|
||||||
char *hit = strstr(line, pattern);
|
char *hit = strstr(line, pattern);
|
||||||
|
@ -122,4 +122,12 @@ int read_mmfile(mmfile_t *ptr, const char *filename)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define FIRST_FEW_BYTES 8000
|
||||||
|
int buffer_is_binary(const char *ptr, unsigned long size)
|
||||||
|
{
|
||||||
|
if (FIRST_FEW_BYTES < size)
|
||||||
|
size = FIRST_FEW_BYTES;
|
||||||
|
return !!memchr(ptr, 0, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,5 +18,6 @@ int parse_hunk_header(char *line, int len,
|
|||||||
int *ob, int *on,
|
int *ob, int *on,
|
||||||
int *nb, int *nn);
|
int *nb, int *nn);
|
||||||
int read_mmfile(mmfile_t *ptr, const char *filename);
|
int read_mmfile(mmfile_t *ptr, const char *filename);
|
||||||
|
int buffer_is_binary(const char *ptr, unsigned long size);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user