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
         {


Reply via email to