Merge branch 'master' into next
authorJunio C Hamano <junkio@cox.net>
Mon, 22 May 2006 07:33:34 +0000 (00:33 -0700)
committerJunio C Hamano <junkio@cox.net>
Mon, 22 May 2006 07:33:34 +0000 (00:33 -0700)
* master:
diff: minor option combination fix.

1  2 
diff.c
diff --combined diff.c
index d8c00dbc466507ba3c8a038f8dcd7b864960f60a,160178367964e2c262366d6819fa26de3edb4a62..7f35e595c93a809d948580308e2bd3e90bb4b262
--- 1/diff.c
--- 2/diff.c
+++ b/diff.c
@@@ -299,7 -299,6 +299,7 @@@ static void diffstat_consume(void *priv
  
  static const char pluses[] = "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
  static const char minuses[]= "----------------------------------------------------------------------";
 +const char mime_boundary_leader[] = "------------";
  
  static void show_stats(struct diffstat_t* data)
  {
@@@ -1304,6 -1303,14 +1304,14 @@@ int diff_setup_done(struct diff_option
            (options->output_format == DIFF_FORMAT_CHECKDIFF))
                options->recursive = 1;
  
+       /*
+        * These combinations do not make sense.
+        */
+       if (options->output_format == DIFF_FORMAT_RAW)
+               options->with_raw = 0;
+       if (options->output_format == DIFF_FORMAT_DIFFSTAT)
+               options->with_stat  = 0;
        if (options->detect_rename && options->rename_limit < 0)
                options->rename_limit = diff_rename_limit_default;
        if (options->setup & DIFF_SETUP_USE_CACHE) {
@@@ -1981,10 -1988,7 +1989,10 @@@ void diff_flush(struct diff_options *op
                show_stats(diffstat);
                free(diffstat);
                diffstat = NULL;
 -              putchar(options->line_termination);
 +              if (options->stat_sep)
 +                      fputs(options->stat_sep, stdout);
 +              else
 +                      putchar(options->line_termination);
        }
        for (i = 0; i < q->nr; i++) {
                struct diff_filepair *p = q->queue[i];