Author: breser
Date: Mon Aug 18 14:28:21 2014
New Revision: 1618618
URL: http://svn.apache.org/r1618618
Log:
Support -U option in diff utility.
Also removes deprication warning from using svn_diff_file_output_unified3().
* tools/diff/diff.c
(do_diff): Use svn_diff_file_output_unified4().
(main): Know to capture the argument following -U so
svn_diff_file_options_parse() can capture the context size.
Modified:
subversion/trunk/tools/diff/diff.c
Modified: subversion/trunk/tools/diff/diff.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/diff/diff.c?rev=1618618&r1=1618617&r2=1618618&view=diff
==============================================================================
--- subversion/trunk/tools/diff/diff.c (original)
+++ subversion/trunk/tools/diff/diff.c Mon Aug 18 14:28:21 2014
@@ -43,9 +43,11 @@ do_diff(svn_stream_t *ostream,
SVN_ERR(svn_diff_file_diff_2(&diff, original, modified, options, pool));
*has_changes = svn_diff_contains_diffs(diff);
- return svn_diff_file_output_unified3(ostream, diff, original, modified,
+ return svn_diff_file_output_unified4(ostream, diff, original, modified,
NULL, NULL, SVN_APR_LOCALE_CHARSET,
- NULL, show_c_function, pool);
+ NULL, show_c_function,
+ options->context_size,
+ NULL, NULL, pool);
}
static void
@@ -112,7 +114,16 @@ int main(int argc, const char *argv[])
diff_options->ignore_space = svn_diff_file_ignore_space_all;
continue;
}
+
APR_ARRAY_PUSH(options_array, const char *) = argv[i];
+
+ /* Special case: '-U' takes an argument, so capture the
+ * next argument in the array. */
+ if (argv[i][1] == 'U' && !argv[i][2])
+ {
+ i++;
+ APR_ARRAY_PUSH(options_array, const char *) = argv[i];
+ }
}
else
{