{"thread":{"id":"8430","subject":"[PATCH 1/3] Move buffer_is_binary() to xdiff-interface.h","startedAt":"2007-06-05T02:36:11Z","lastAt":"2007-06-05T02:36:11Z","messageCount":1,"participants":["Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":3},"messages":[{"id":"44021","messageId":"Pine.LNX.4.64.0706050335010.4046@racer.site","threadId":"8430","inReplyTo":null,"subject":"[PATCH 1/3] Move buffer_is_binary() to xdiff-interface.h","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-06-05T02:36:11Z","receivedAt":"2007-06-05T02:36:11Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"\nWe already have two instances where we want to determine if a buffer\ncontains binary data as opposed to text.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n diff.c            |    6 +-----\n grep.c            |   11 -----------\n xdiff-interface.c |    8 ++++++++\n xdiff-interface.h |    1 +\n 4 files changed, 10 insertions(+), 16 deletions(-)\n\ndiff --git a/diff.c b/diff.c\nindex 508bc51..1a72688 100644\n--- a/diff.c\n+++ b/diff.c\n@@ -1107,7 +1107,6 @@ static void setup_diff_attr_check(struct git_attr_check *check)\n \tcheck->attr = attr_diff;\n }\n \n-#define FIRST_FEW_BYTES 8000\n static int file_is_binary(struct diff_filespec *one)\n {\n \tunsigned long sz;\n@@ -1127,10 +1126,7 @@ static int file_is_binary(struct diff_filespec *one)\n \t\t\treturn 0;\n \t\tdiff_populate_filespec(one, 0);\n \t}\n-\tsz = one->size;\n-\tif (FIRST_FEW_BYTES < sz)\n-\t\tsz = FIRST_FEW_BYTES;\n-\treturn !!memchr(one->data, 0, sz);\n+\treturn buffer_is_binary(one->data, one->size);\n }\n \n static void builtin_diff(const char *name_a,\ndiff --git a/grep.c b/grep.c\nindex fcc6762..f05ae84 100644\n--- a/grep.c\n+++ b/grep.c\n@@ -232,17 +232,6 @@ static void show_line(struct grep_opt *opt, const char *bol, const char *eol,\n \tprintf(\"%.*s\\n\", (int)(eol-bol), bol);\n }\n \n-/*\n- * NEEDSWORK: share code with diff.c\n- */\n-#define FIRST_FEW_BYTES 8000\n-static int buffer_is_binary(const char *ptr, unsigned long size)\n-{\n-\tif (FIRST_FEW_BYTES < size)\n-\t\tsize = FIRST_FEW_BYTES;\n-\treturn !!memchr(ptr, 0, size);\n-}\n-\n static int fixmatch(const char *pattern, char *line, regmatch_t *match)\n {\n \tchar *hit = strstr(line, pattern);\ndiff --git a/xdiff-interface.c b/xdiff-interface.c\nindex 10816e9..963bb89 100644\n--- a/xdiff-interface.c\n+++ b/xdiff-interface.c\n@@ -122,4 +122,12 @@ int read_mmfile(mmfile_t *ptr, const char *filename)\n \treturn 0;\n }\n \n+#define FIRST_FEW_BYTES 8000\n+int buffer_is_binary(const char *ptr, unsigned long size)\n+{\n+\tif (FIRST_FEW_BYTES < size)\n+\t\tsize = FIRST_FEW_BYTES;\n+\treturn !!memchr(ptr, 0, size);\n+}\n+\n \ndiff --git a/xdiff-interface.h b/xdiff-interface.h\nindex 1918808..536f4e4 100644\n--- a/xdiff-interface.h\n+++ b/xdiff-interface.h\n@@ -18,5 +18,6 @@ int parse_hunk_header(char *line, int len,\n \t\t      int *ob, int *on,\n \t\t      int *nb, int *nn);\n int read_mmfile(mmfile_t *ptr, const char *filename);\n+int buffer_is_binary(const char *ptr, unsigned long size);\n \n #endif\n-- \n1.5.2.1.2626.ge1044-dirty\n"}]}