X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=diff.c;h=3cb41c533313fdd70b3f13858c68032aeb08062a;hb=66e631def8ad6a15eed57bcbde4157e0964ad8fc;hp=36bbda6d8de847a912b21afc705cad63d121f5c9;hpb=6fb737be5e4803feabe0d1b6169de36131936368;p=git.git diff --git a/diff.c b/diff.c index 36bbda6d..3cb41c53 100644 --- a/diff.c +++ b/diff.c @@ -818,6 +818,12 @@ static void diff_flush_raw(struct diff_filepair *p, putchar(line_termination); } +static void diff_flush_name(struct diff_filepair *p, + int line_termination) +{ + printf("%s%c", p->two->path, line_termination); +} + int diff_unmodified_pair(struct diff_filepair *p) { /* This function is written stricter than necessary to support @@ -971,15 +977,14 @@ static void diff_resolve_rename_copy(void) diff_debug_queue("resolve-rename-copy done", q); } -void diff_flush(int diff_output_style) +void diff_flush(int diff_output_style, int line_termination) { struct diff_queue_struct *q = &diff_queued_diff; int i; - int line_termination = '\n'; int inter_name_termination = '\t'; - if (diff_output_style == DIFF_FORMAT_MACHINE) - line_termination = inter_name_termination = 0; + if (!line_termination) + inter_name_termination = 0; for (i = 0; i < q->nr; i++) { struct diff_filepair *p = q->queue[i]; @@ -992,11 +997,13 @@ void diff_flush(int diff_output_style) case DIFF_FORMAT_PATCH: diff_flush_patch(p); break; - case DIFF_FORMAT_HUMAN: - case DIFF_FORMAT_MACHINE: + case DIFF_FORMAT_RAW: diff_flush_raw(p, line_termination, inter_name_termination); break; + case DIFF_FORMAT_NAME: + diff_flush_name(p, line_termination); + break; } } for (i = 0; i < q->nr; i++)