Commit 69e78274 authored by Tatiana A. Nurnberg's avatar Tatiana A. Nurnberg

manual merge

parents a4cf475e e43d8e58
...@@ -1445,34 +1445,38 @@ static int run_tool(const char *tool_path, DYNAMIC_STRING *ds_res, ...) ...@@ -1445,34 +1445,38 @@ static int run_tool(const char *tool_path, DYNAMIC_STRING *ds_res, ...)
Test if diff is present. This is needed on Windows systems Test if diff is present. This is needed on Windows systems
as the OS returns 1 whether diff is successful or if it is as the OS returns 1 whether diff is successful or if it is
not present. not present.
Takes name of diff program as argument
We run diff -v and look for output in stdout. We run diff -v and look for output in stdout.
We don't redirect stderr to stdout to make for a simplified check We don't redirect stderr to stdout to make for a simplified check
Windows will output '"diff"' is not recognized... to stderr if it is Windows will output '"diff"' is not recognized... to stderr if it is
not present. not present.
*/ */
int diff_check (const char *diff_name) #ifdef __WIN__
static int diff_check(const char *diff_name)
{ {
char buf[512]= {0}; FILE *res_file;
FILE *res_file; char buf[128];
char cmd[128]; int have_diff= 0;
my_snprintf (cmd, sizeof(cmd), "%s -v", diff_name);
int have_diff = 0;
if (!(res_file= popen(cmd, "r"))) my_snprintf(buf, sizeof(buf), "%s -v", diff_name);
die("popen(\"%s\", \"r\") failed", cmd);
/* if diff is not present, nothing will be in stdout to increment have_diff */ if (!(res_file= popen(buf, "r")))
if (fgets(buf, sizeof(buf), res_file)) die("popen(\"%s\", \"r\") failed", buf);
{
have_diff += 1; /* if diff is not present, nothing will be in stdout to increment have_diff */
} if (fgets(buf, sizeof(buf), res_file))
pclose(res_file); have_diff= 1;
return have_diff;
pclose(res_file);
return have_diff;
} }
#endif
/* /*
Show the diff of two files using the systems builtin diff Show the diff of two files using the systems builtin diff
command. If no such diff command exist, just dump the content command. If no such diff command exist, just dump the content
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment