diff options
author | Tatiana A. Nurnberg <azundris@mysql.com> | 2009-06-06 18:41:40 +0200 |
---|---|---|
committer | Tatiana A. Nurnberg <azundris@mysql.com> | 2009-06-06 18:41:40 +0200 |
commit | d7d61f59ddc83b8d60f47cd62cd3778ba8d4f8c2 (patch) | |
tree | dadba613625317b967607860ddfed4796a9cbdde /client | |
parent | 7c8d7314b153a428dad47a47738c2c20b502e7b7 (diff) | |
parent | 0b7fecf9e486990d173cc87b2c94aee06b0f7dbb (diff) | |
download | mariadb-git-d7d61f59ddc83b8d60f47cd62cd3778ba8d4f8c2.tar.gz |
manual merge
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqltest.cc | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/client/mysqltest.cc b/client/mysqltest.cc index f29fd36aa27..7f9bb51bd56 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc @@ -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 as the OS returns 1 whether diff is successful or if it is not present. - Takes name of diff program as argument - + We run diff -v and look for output in stdout. 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 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; - char cmd[128]; - my_snprintf (cmd, sizeof(cmd), "%s -v", diff_name); - int have_diff = 0; + FILE *res_file; + char buf[128]; + int have_diff= 0; - if (!(res_file= popen(cmd, "r"))) - die("popen(\"%s\", \"r\") failed", cmd); + my_snprintf(buf, sizeof(buf), "%s -v", diff_name); - /* if diff is not present, nothing will be in stdout to increment have_diff */ - if (fgets(buf, sizeof(buf), res_file)) - { - have_diff += 1; - } - pclose(res_file); - return have_diff; + if (!(res_file= popen(buf, "r"))) + die("popen(\"%s\", \"r\") failed", buf); + + /* if diff is not present, nothing will be in stdout to increment have_diff */ + if (fgets(buf, sizeof(buf), res_file)) + have_diff= 1; + + pclose(res_file); + + return have_diff; } +#endif + + /* Show the diff of two files using the systems builtin diff command. If no such diff command exist, just dump the content |