summaryrefslogtreecommitdiff
path: root/client/mysqltest.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/mysqltest.c')
-rw-r--r--client/mysqltest.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c
index bc00d78c205..0bca63b6e81 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -1345,23 +1345,21 @@ void show_diff(DYNAMIC_STRING* ds,
if (init_dynamic_string(&ds_tmp, "", 256, 256))
die("Out of memory");
- /* First try with diff --help to see if the command exists at all */
+ /* First try with unified diff */
if (run_tool("diff",
&ds_tmp, /* Get output from diff in ds_tmp */
- "--help",
+ "-u",
+ filename1,
+ filename2,
"2>&1",
- NULL) != 0) /* Most "diff --help" tools return 0 */
- {
- diff_failed= "You don't appear to have diff installed";
- }
- else
+ NULL) > 1) /* Most "diff" tools return >1 if error */
{
dynstr_set(&ds_tmp, "");
- /* First try with unified diff */
+ /* Fallback to context diff with "diff -c" */
if (run_tool("diff",
&ds_tmp, /* Get output from diff in ds_tmp */
- "-u",
+ "-c",
filename1,
filename2,
"2>&1",
@@ -1369,17 +1367,17 @@ void show_diff(DYNAMIC_STRING* ds,
{
dynstr_set(&ds_tmp, "");
- /* Fallback to context diff with "diff -c" */
+ /* Fallback to plain "diff" */
if (run_tool("diff",
&ds_tmp, /* Get output from diff in ds_tmp */
- "-c",
filename1,
filename2,
"2>&1",
NULL) > 1) /* Most "diff" tools return >1 if error */
{
dynstr_set(&ds_tmp, "");
- diff_failed= "Could not execute 'diff -u' or 'diff -c'";
+
+ diff_failed= "Could not execute 'diff -u', 'diff -c' or 'diff'";
}
}
}