Merge branch 'jm/maint-strncpy-diff-no-index'
[gitweb.git] / diff.c
diff --git a/diff.c b/diff.c
index 0dea484ee8c8bd2f2b356c8a8eb1ef15d1be07f4..22288b0106258e4f2c170f9e51dbf72f563179bd 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -3540,9 +3540,9 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac)
        else if (!strcmp(arg, "--ignore-space-at-eol"))
                DIFF_XDL_SET(options, IGNORE_WHITESPACE_AT_EOL);
        else if (!strcmp(arg, "--patience"))
-               DIFF_XDL_SET(options, PATIENCE_DIFF);
+               options->xdl_opts = DIFF_WITH_ALG(options, PATIENCE_DIFF);
        else if (!strcmp(arg, "--histogram"))
-               DIFF_XDL_SET(options, HISTOGRAM_DIFF);
+               options->xdl_opts = DIFF_WITH_ALG(options, HISTOGRAM_DIFF);
 
        /* flags options */
        else if (!strcmp(arg, "--binary")) {
@@ -4414,6 +4414,12 @@ void diff_flush(struct diff_options *options)
 
        if (output_format & DIFF_FORMAT_PATCH) {
                if (separator) {
+                       if (options->output_prefix) {
+                               struct strbuf *msg = NULL;
+                               msg = options->output_prefix(options,
+                                       options->output_prefix_data);
+                               fwrite(msg->buf, msg->len, 1, stdout);
+                       }
                        putc(options->line_termination, options->file);
                        if (options->stat_sep) {
                                /* attach patch instead of inline */