| 6467 | } |
| 6468 | |
| 6469 | static void diff_flush_raw(struct diff_filepair *p, struct diff_options *opt) |
| 6470 | { |
| 6471 | int line_termination = opt->line_termination; |
| 6472 | int inter_name_termination = line_termination ? '\t' : '\0'; |
| 6473 | |
| 6474 | fprintf(opt->file, "%s", diff_line_prefix(opt)); |
| 6475 | if (!(opt->output_format & DIFF_FORMAT_NAME_STATUS)) { |
| 6476 | fprintf(opt->file, ":%06o %06o %s ", p->one->mode, p->two->mode, |
| 6477 | diff_aligned_abbrev(&p->one->oid, opt->abbrev)); |
| 6478 | fprintf(opt->file, "%s ", |
| 6479 | diff_aligned_abbrev(&p->two->oid, opt->abbrev)); |
| 6480 | } |
| 6481 | if (p->score) { |
| 6482 | fprintf(opt->file, "%c%03d%c", p->status, similarity_index(p), |
| 6483 | inter_name_termination); |
| 6484 | } else { |
| 6485 | fprintf(opt->file, "%c%c", p->status, inter_name_termination); |
| 6486 | } |
| 6487 | |
| 6488 | if (p->status == DIFF_STATUS_COPIED || |
| 6489 | p->status == DIFF_STATUS_RENAMED) { |
| 6490 | const char *name_a, *name_b; |
| 6491 | name_a = p->one->path; |
| 6492 | name_b = p->two->path; |
| 6493 | strip_prefix(opt->prefix_length, &name_a, &name_b); |
| 6494 | write_name_quoted(name_a, opt->file, inter_name_termination); |
| 6495 | write_name_quoted(name_b, opt->file, line_termination); |
| 6496 | } else { |
| 6497 | const char *name_a, *name_b; |
| 6498 | name_a = p->one->mode ? p->one->path : p->two->path; |
| 6499 | name_b = NULL; |
| 6500 | strip_prefix(opt->prefix_length, &name_a, &name_b); |
| 6501 | write_name_quoted(name_a, opt->file, line_termination); |
| 6502 | } |
| 6503 | } |
| 6504 | |
| 6505 | int diff_unmodified_pair(struct diff_filepair *p) |
| 6506 | { |
no test coverage detected