summaryrefslogtreecommitdiffstats
path: root/main/busybox/diff.patch
blob: 947be700bdd8e036024ad2e7c71238f39ad20f55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
commit d1ed648727f3a0df2d067d869040306ba1e2c52e
Author: Natanael Copa <natanael.copa@gmail.com>
Date:   Fri Jul 9 09:38:03 2010 +0000

    diff: strip trailing / on dirs
    
    fixes #2203
    https://bugs.busybox.net/show_bug.cgi?id=2203

diff --git a/editors/diff.c b/editors/diff.c
index 07594e8..e2da626 100644
--- a/editors/diff.c
+++ b/editors/diff.c
@@ -788,9 +788,15 @@ static void diffdir(char *p[2], const char *s_start)
 
 	memset(&list, 0, sizeof(list));
 	for (i = 0; i < 2; i++) {
+		char *lc;
 		/*list[i].s = list[i].e = 0; - memset did it */
 		/*list[i].dl = NULL; */
 
+		/* trim trailing / in dirs. */
+		lc = last_char_is(p[i], '/');
+		if (lc && lc != p[i])
+			*lc = '\0';
+
 		/* We need to trim root directory prefix.
 		 * Using list.len to specify its length,
 		 * add_to_dirlist will remove it. */