{"thread":{"id":"43670","subject":"[PATCH 1/3] move read_mmfile() into xdiff-interface","startedAt":"2006-12-20T16:37:07Z","lastAt":"2006-12-20T16:37:07Z","messageCount":1,"participants":["Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":3},"messages":[{"id":"296532","messageId":"Pine.LNX.4.63.0612201736310.19693@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"43670","inReplyTo":null,"subject":"[PATCH 1/3] move read_mmfile() into xdiff-interface","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-12-20T16:37:07Z","receivedAt":"2006-12-20T16:37:07Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"\nread_file() was a useful function if you want to work with the xdiff stuff,\nso it was renamed and put into a more central place.\n\nSigned-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>\n---\n builtin-merge-file.c |   20 ++------------------\n xdiff-interface.c    |   19 +++++++++++++++++++\n xdiff-interface.h    |    1 +\n 3 files changed, 22 insertions(+), 18 deletions(-)\n\ndiff --git a/builtin-merge-file.c b/builtin-merge-file.c\nindex 6c4c3a3..9135773 100644\n--- a/builtin-merge-file.c\n+++ b/builtin-merge-file.c\n@@ -1,26 +1,10 @@\n #include \"cache.h\"\n #include \"xdiff/xdiff.h\"\n+#include \"xdiff-interface.h\"\n \n static const char merge_file_usage[] =\n \"git merge-file [-p | --stdout] [-q | --quiet] [-L name1 [-L orig [-L name2]]] file1 orig_file file2\";\n \n-static int read_file(mmfile_t *ptr, const char *filename)\n-{\n-\tstruct stat st;\n-\tFILE *f;\n-\n-\tif (stat(filename, &st))\n-\t\treturn error(\"Could not stat %s\", filename);\n-\tif ((f = fopen(filename, \"rb\")) == NULL)\n-\t\treturn error(\"Could not open %s\", filename);\n-\tptr->ptr = xmalloc(st.st_size);\n-\tif (fread(ptr->ptr, st.st_size, 1, f) != 1)\n-\t\treturn error(\"Could not read %s\", filename);\n-\tfclose(f);\n-\tptr->size = st.st_size;\n-\treturn 0;\n-}\n-\n int cmd_merge_file(int argc, char **argv, char **envp)\n {\n \tchar *names[3];\n@@ -53,7 +37,7 @@ int cmd_merge_file(int argc, char **argv, char **envp)\n \t\tnames[i] = argv[i + 1];\n \n \tfor (i = 0; i < 3; i++)\n-\t\tif (read_file(mmfs + i, argv[i + 1]))\n+\t\tif (read_mmfile(mmfs + i, argv[i + 1]))\n \t\t\treturn -1;\n \n \tret = xdl_merge(mmfs + 1, mmfs + 0, names[0], mmfs + 2, names[2],\ndiff --git a/xdiff-interface.c b/xdiff-interface.c\nindex 08602f5..6c1f99b 100644\n--- a/xdiff-interface.c\n+++ b/xdiff-interface.c\n@@ -102,3 +102,22 @@ int xdiff_outf(void *priv_, mmbuffer_t *mb, int nbuf)\n \t}\n \treturn 0;\n }\n+\n+int read_mmfile(mmfile_t *ptr, const char *filename)\n+{\n+\tstruct stat st;\n+\tFILE *f;\n+\n+\tif (stat(filename, &st))\n+\t\treturn error(\"Could not stat %s\", filename);\n+\tif ((f = fopen(filename, \"rb\")) == NULL)\n+\t\treturn error(\"Could not open %s\", filename);\n+\tptr->ptr = xmalloc(st.st_size);\n+\tif (fread(ptr->ptr, st.st_size, 1, f) != 1)\n+\t\treturn error(\"Could not read %s\", filename);\n+\tfclose(f);\n+\tptr->size = st.st_size;\n+\treturn 0;\n+}\n+\n+\ndiff --git a/xdiff-interface.h b/xdiff-interface.h\nindex 1346908..1918808 100644\n--- a/xdiff-interface.h\n+++ b/xdiff-interface.h\n@@ -17,5 +17,6 @@ int xdiff_outf(void *priv_, mmbuffer_t *mb, int nbuf);\n 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 \n #endif\n-- \n1.4.4.2.g35224\n"}]}