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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Alexandre Julliard <julliard@xxxxxxxxxx>
---
 diff.c |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/diff.c b/diff.c
index 4c642d7..e036aae 100644
--- a/diff.c
+++ b/diff.c
@@ -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)
 {
+	char *name = quote_one(fs->path);
 	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
-		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)
 {
 	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",
-			       p->one->mode, p->two->mode, p->two->path);
+			       p->one->mode, p->two->mode, name);
+			free(name);
+		}
 		else
 			printf(" mode change %06o => %06o\n",
 			       p->one->mode, p->two->mode);
@@ -2455,8 +2460,10 @@ static void diff_summary(struct diff_filepair *p)
 		break;
 	default:
 		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));
+			free(name);
 			show_mode_change(p, 0);
 		} else	show_mode_change(p, 1);
 		break;
-- 
1.5.0.rc4.31.g6289

-- 
Alexandre Julliard
julliard@xxxxxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]