Fix rewrite_diff() name quoting.

This moves the logic to quote two paths (prefix + path) in
C-style introduced in the previous commit from the
dump_quoted_path() in combine-diff.c to quote.c, and uses it to
fix rewrite_diff() that never C-quoted the pathnames correctly.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2007-12-26 17:13:36 -08:00
parent 462a15bc82
commit d56250911f
4 changed files with 27 additions and 13 deletions

View File

@ -656,16 +656,7 @@ static void dump_quoted_path(const char *head,
strbuf_reset(&buf);
strbuf_addstr(&buf, c_meta);
strbuf_addstr(&buf, head);
if (quote_c_style(prefix, NULL, NULL, 0) ||
quote_c_style(path, NULL, NULL, 0)) {
strbuf_addch(&buf, '"');
quote_c_style(prefix, &buf, NULL, 1);
quote_c_style(path, &buf, NULL, 1);
strbuf_addch(&buf, '"');
} else {
strbuf_addstr(&buf, prefix);
strbuf_addstr(&buf, path);
}
quote_two_c_style(&buf, prefix, path, 0);
strbuf_addstr(&buf, c_reset);
puts(buf.buf);
}