提交 0d26a64e 编写于 作者: A Alexandre Julliard 提交者: Junio C Hamano

diff.c: Properly quote file names in diff --summary output.

Signed-off-by: NAlexandre Julliard <julliard@winehq.org>
Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 b9f44164
...@@ -2409,19 +2409,24 @@ static void flush_one_pair(struct diff_filepair *p, struct diff_options *opt) ...@@ -2409,19 +2409,24 @@ static void flush_one_pair(struct diff_filepair *p, struct diff_options *opt)
static void show_file_mode_name(const char *newdelete, struct diff_filespec *fs) static void show_file_mode_name(const char *newdelete, struct diff_filespec *fs)
{ {
char *name = quote_one(fs->path);
if (fs->mode) if (fs->mode)
printf(" %s mode %06o %s\n", newdelete, fs->mode, fs->path); printf(" %s mode %06o %s\n", newdelete, fs->mode, name);
else else
printf(" %s %s\n", newdelete, fs->path); printf(" %s %s\n", newdelete, name);
free(name);
} }
static void show_mode_change(struct diff_filepair *p, int show_name) static void show_mode_change(struct diff_filepair *p, int show_name)
{ {
if (p->one->mode && p->two->mode && p->one->mode != p->two->mode) { if (p->one->mode && p->two->mode && p->one->mode != p->two->mode) {
if (show_name) if (show_name) {
char *name = quote_one(p->two->path);
printf(" mode change %06o => %06o %s\n", printf(" mode change %06o => %06o %s\n",
p->one->mode, p->two->mode, p->two->path); p->one->mode, p->two->mode, name);
free(name);
}
else else
printf(" mode change %06o => %06o\n", printf(" mode change %06o => %06o\n",
p->one->mode, p->two->mode); p->one->mode, p->two->mode);
...@@ -2455,8 +2460,10 @@ static void diff_summary(struct diff_filepair *p) ...@@ -2455,8 +2460,10 @@ static void diff_summary(struct diff_filepair *p)
break; break;
default: default:
if (p->score) { if (p->score) {
printf(" rewrite %s (%d%%)\n", p->two->path, char *name = quote_one(p->two->path);
printf(" rewrite %s (%d%%)\n", name,
(int)(0.5 + p->score * 100.0/MAX_SCORE)); (int)(0.5 + p->score * 100.0/MAX_SCORE));
free(name);
show_mode_change(p, 0); show_mode_change(p, 0);
} else show_mode_change(p, 1); } else show_mode_change(p, 1);
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册